Table of Contents
MYTH_CGC_CoreEngine is the Core Engine plugin for RPG Maker MV & MZ that converts Skills into Cards and changes the battle system to utilize them similar to roguelike deckbuilder games.
This plugin is required for all other CGC Plugins to work. It can function standalone but the supporting plugins add features that greatly improve the experience of making and playing card games. You can find this plugin as part of the Main Plugin Suite.
Current Version: 1.6.0
Parameters
Start Actions & Max Hand Size
Card Appearance
See Card Customization.
UI Order
See ????.
Change Battle Windows
See ????.
General Sounds
See ????.
Card Selection Window
See ????.
Card Library
See ????.
Plugin Commands
Command Syntax | Event Usage | Description |
---|---|---|
DisableCardBattle | Map Only | Reverts the Battle System to RPG Maker Defaults. |
EnableCardBattle | Map Only | Sets the Battle System to Card Game Combat. |
EnableCardLibrary | Map & Battle | Adds the Card Library option to the Menu. |
DisableCardLibrary | Map & Battle | Removes the Card Library option from the Menu. |
OpenCardLibrary | Map & Battle | Opens the Card Library scene directly. This can be done from the map. |
ShowCard [ID] [x] [y] [angle] [index] | Map & Battle | Replace the brackets with their respective fields. Index works just like the Number when you Show Picture. If Index is omitted, it will just find a new index and create a new card. If angle is omitted, the angle will be 0. |
HideCardID [ID] | Map & Battle | This un-shows the card with the specified skill ID. If two or more cards have the same ID, it will hide the most recently added card. |
HideCardIndex [index] | Map & Battle | This hides the card at the specified index. |
HideAllCards | Map & Battle | This will hide all cards. |
MoveCard [index] [x] [y] | Map & Battle | This moves the card of the specified index to the specified x and y coordinates. |
Notetags
Notetag Syntax | Database Usage | Description |
---|---|---|
<Hide from card library> | Skills | Makes the card not show up in the Card Library |
<Card Art: file_name> | Skills | Makes the card's Card Art the file of the given name. Art can be found in the art directory in the plugin parameters. |
<Card Base: file_name> | Skills | Replaces the default card Base with the file of the given name. Bases can be found in the base directory in the plugin parameters. |
<Card Passives> action action </Card Passives> | Skills, Items | Used to add Passives to a Skill. See:Card Passives |
<Card Actions> action action </Card Actions> | Skills, Items | Used to add Actions to a Skill. Actions execute in sequential order. See:Card Actions |
<Card Target Actions> action action </Card Target Actions> | Skills, Items | Used to add Actions to a Skill that are performed on the Target. Actions execute in sequential order. See:Card Actions |
Actions
Draw X | Where X is a number, playing this card will make the actor draw X cards |
Draw Until X | Where X is a number, will make the actor draw until their hand is size X |
Discard X | Will make the actor discard X cards in order to play this |
Discard Until X | Will make the actor discard until their hand size is X |
Remove X Remove Until X | Works just like discarding, but will remove the selected cards from play |
Remove this | Will remove the card currently being used from play. |
Add [skillID] to [zoneName] | Adds a card directly to a zone. For example, ““Add 7 to hand”” will create a card of Skill ID 7 in your Hand. |
Mill X | Moves X cards from the deck directly to the discard |
Search For X Search For [skill name] | Draws the Card of the specified Skill ID (x) or name, if it is in the deck. |
Shuffle Deck | Will shuffle the deck. |
Move X from [zoneName] to [zoneName] | A generic form of Draw/Discard/Mill where you can specify any zone. For example “Move 3 from Discard to Hand” will return 3 cards to the hand. |
Move this to [zoneName] | Will move the card currently being used to the specified zone. If the zone is absent the card will move to the discard at the end of all Card Actions. |
Move all from [zoneName] to [zoneName] | This will move all cards from one zone to another. |
Eval [expression] | Will execute anything after the word “eval” as a piece of code. |
If [expression] | This will evaluate the expression, and if it's true, it will execute the next Card Action. If false, it will skip that action. |
Label [labelName] | This will define a label, which is important for the jump to Action. |
Jump to [labelName] | This will search for the label with the same name, and move to that label. If the label is after this Card Action, it will skip all Card Actions between the two. If the label is before this Card Action, it will execute the Card Actions between the two a second time. |
Wait X | Causes Card Action execution to wait X frames before continuing, like a Wait command in RPG Maker. Does not work in Start of Turn/Battle params. |
Example of how these Card Actions can be used:
<Card Actions> label start if (user.handSize >= 10) jump to end draw 1 wait 5 jump to start label end </Card Actions>
These card actions will draw 1 card, wait 5 frames, and then repeat until the player has 10 cards in their hand.
Play SE [fileName] Play SFX [fileName] | Will play the specified sound file located in audio/se folder. |
Passives
Will End Turn | This will cause the card to end the turn upon use. |
Discard if unplayed | Will discard this card if the turn ends while this card is in the hand. |
Remove if unplayed | Will remove this card from play if the turn ends while this card is in the hand. |
Require [expression] | Cannot be played unless the expression evaluates to true. Multiple requirements can be placed. Use the word 'user' to refer to the user of the card.Require user.handSize > 2 Require user.handSize < 10 Require $gameSwitches.value(3) This will make a card playable only if the user's hand contains more than 2 and less than 10 cards. In addition, can only be played if Game Switch 3 is set to ON. |
Start in [zoneName] | Will be in the specified zone at start of battle, before start-of-battle actions. |
Start of Turn: Skill X | At the Start of Turn, if this Card is in Hand, execute Skill ID X. |
End of Turn: Skill X | At the end of Turn, if this Card is in Hand, execute Skill ID X. |
Enter [zoneName]: Skill X | When this Card enters the specified zone, execute Skill ID X. |
Exit [zoneName]: Skill X | When this Card enters the specified zone, execute Skill ID X. |
Version History
Version Changes up to the major update. See Full History here.
**v1.6.2** - Consolidated ShowCard into the Core Engine. - Removed several duplicate parameters that are present in Text Format Plus. - Cost X coordinate is now left-aligned. Added Cost Width param to compensate. - Replaced Highlight Sprite with Highlight Sheet, which now includes a Remove variant. - Added Remove variant of the End Turn Button - Moved button images to img/CGC/buttons - Moved highlight images to img/CGC/highlights - Added Origin Badges to the Card Library which display where a Card came from. - Added a few other parameters to determine which Cards are shown in the Library. - Cards of different Origins now appear separately in the Library - Default Card is now preloaded on boot, almost all card-based calculations are now based on this image. - Amount Text in Libraries is now handled by a new class Window_CardAmount, which offers more flexibility. - Card Sprite hitboxes have been fixed and now scale with the image's scale. - Zone Sprites no longer create Card Highlights that go unused. - Fixed math error in Hand positioning that makes cards improperly centered. - New parameter Skip Party Command allows you to skip the Party Command Window - Fixed bug where End of Turn: Skill X triggers twice - Fixed bug where Start of Turn: Skill X wouldn't trigger properly. - Skills Learned during battle now stay in the Actor's Library. - Fixed bug where Actor could "forget" Cards gained through equipment or states. - Library Scene has been revamped entirely. Lots of UI improvements. - The Scrollbar is now in every Library-type scene. - Fixed bug where Card Sprites wouldn't spawn in Library if Card Battle was disabled. - Fixed crash when failing to flee from a battle using the Party Window before the opening hand has been drawn. - Lots of backend refactoring. - Better error handling and conveyance to the user. - Behavior specific to Window_BattleSkill has been removed from Window_SkillList - Cards are now added to a CardLayer object which inherits behavior from WindowLayer. - Card Highlight sprites are now a new class Sprite_CardHighlight instead of just basic Sprite objects. Trust me, the code is cleaner now. - CoreEngine is now over 10,000 lines. **v1.6.1** - Added Skip Party Command Menu plugin parameter. - Simple View in the Card Library will now show Var values when using MYTH_CGC_IndependentCardVariables. - Fixed bug where Zone names weren't properly case-sensitive. - Fixed bug with YEP_BattleEngineCore that would break card forced actions. - Fixed bug with card forced actions that would sometimes discard a card on execution. - Fixed bug where card forced actions would interrupt empty zone actions. - Fixed Jump Card Action not working within Card Target Actions - Fixed MZ touch input crash when hovering over zone sprites. - Fixed MZ plugin commands not working. - Fixed crash if skills force actions when no target is available. - Fixed MZ bug where status windows would fail to appear/disappear when navigating item selection in battle. - Fixed MV touch input bug where zone images' hitboxes would be based on the entire sheet instead of just the visible sprite. - Added MV compatibility with SDJB_MouseHover and TDDP_MouseSystemEx - Fixed bug with YEP_X_BattleSysSTB that would cause actors to repeat their Start of Turn Card Actions. - Extra error handling for improved compatibility with other plugins **v1.6.0** - Zone params are now structs. - Added custom zones. - Will End Turn is now a Card Passive - Remove this is now a Card Action - New Card Action: Move this to [zoneName], moves the currently used card to the specified zone. - Resolving used cards has been changed. Card is now removed from hand, its effects play, and then it is moved to the discard. Use - "Move this" CA to move the card early. - Deck and Discard sprites now take sheets instead of individual images. Custom zones as well. - Cards getting put into the discard from the hand and then reshuffled into the deck will now travel directly to the deck from the hand instead of appearing as duplicates. - New CAs parameter for when a zone is empty, replacing the automatic reshuffle. These CAs are executed when the zone is emptied, and again at the end of the action if the zone is still empty. - End Turn Button and Item Button params are now structs. - IsiahCGCCardSelection and IsiahCGCConditionalCardActions have been consolidated into the main plugin. Parameters have been moved and added as necessary. - IsiahCGCExtraButtons has been consolidated into the main plugin. - Lots and lots of parameter changes. - New Card Action: Play SE [soundName] - Zones have Sound Effects parameters for when a card enters/exits. - New parameters for several other SEs. - New parameter for smooth scaling. - Skip Actor Command Menu parameter now plays nice with PartyUI_TypeA - Removed a lot of case sensitivity for various things - Fixed touch input bug in MZ when scrolling through the library where the vertical scrolling way too sensitive. - Fixed bug that prevented turn from ending properly after forced actions. - Fixed bug that would break text color changing on cards in MZ. - Fixed touch input bug in MZ with extra buttons. - Backend Refactoring. - Removed legacy functions - Renamed from IsiahCardGameCombat to MYTH_CGC_CoreEngine