User Tools

Site Tools


plugin-card-summons

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
plugin-card-summons [2024/10/15 05:32] – [Enemy Status Window] isiahgamesplugin-card-summons [2025/06/27 22:36] (current) – [Version History] isiahgames
Line 1: Line 1:
-//**This page is a work in progress, and will be updating periodically.**//+{{https://img.itch.zone/aW1nLzE4NzczOTY5LnBuZw==/original/Mglsyo.png?nolink&690}}
  
 This plugin adds a new Zone to battles called the Field, and with it come several new features. This plugin adds a new Zone to battles called the Field, and with it come several new features.
Line 57: Line 57:
  
    <Field Skills>    <Field Skills>
-   skill x +   Skill X 
-   skill x limit y per turn +   Skill X Limit Y per Turn 
-   skill x limit y per battle+   Skill X Limit Y per Battle
    </Field Skills>    </Field Skills>
  
-Replace 'x' with a Skill ID. +Replace 'X' with a Skill ID. 
-(Optional) replace 'y' with the amount of times a skill can be used within a turn/battle.+(Optional) replace 'Y' with the amount of times a skill can be used within a turn/battle.
  
 If a card is removed from the Field and then placed again, its per-battle skills are refreshed. If a card is removed from the Field and then placed again, its per-battle skills are refreshed.
Line 76: Line 76:
  
     <Card Passives>     <Card Passives>
-    Start of Turn Field: Skill x +    Start of Turn Field: Skill X 
-    End of Turn Field: Skill x+    End of Turn Field: Skill X
     </Card Passives>     </Card Passives>
  
-Replace 'x' with a Skill ID.+Replace 'X' with a Skill ID.
  
 This should go inside the Skills database regardless of whether this is for a Field Card or a Creature Card, as it belongs to the card itself. This should go inside the Skills database regardless of whether this is for a Field Card or a Creature Card, as it belongs to the card itself.
Line 127: Line 127:
  
 Inside a card, you can set it to summon a Creature when it moves to the Field through the following Skill Notetag: Inside a card, you can set it to summon a Creature when it moves to the Field through the following Skill Notetag:
-    <Field Creature ID: x+    <Field Creature ID: X
-Replace 'x' with an Enemy ID.+Replace 'X' with an Enemy ID.
  
 When a card summons a Creature by moving to the field, the card is made invisible, but is still present underneath the Creature. When a Creature's HP reaches 0, its card is moved to the discard. Likewise, if a card is moved off of the field, its Creature dies. When a card summons a Creature by moving to the field, the card is made invisible, but is still present underneath the Creature. When a Creature's HP reaches 0, its card is moved to the discard. Likewise, if a card is moved off of the field, its Creature dies.
  
-An animation can be played on the Creature when it is summoned by +An animation can be played on the Creature when it is summoned by using the following Skill Notetag:
-using the following Skill Notetag:+
  
-    <Summon Animation ID: x>+    <Summon Animation ID: X>
  
-Replace 'x' with an Animation ID.+Replace 'X' with an Animation ID.
  
 The specific placement of a Creature within the Field is relative to what RPG Maker considers its "center point," which is its center bottom in MV and its actual center in MZ. You can offset the location it will spawn in its place in the field using the following Enemy Notetags: The specific placement of a Creature within the Field is relative to what RPG Maker considers its "center point," which is its center bottom in MV and its actual center in MZ. You can offset the location it will spawn in its place in the field using the following Enemy Notetags:
  
-    <grid offset X: x+    <Grid Offset X: Z
-    <grid offset Y: x>+    <Grid Offset Y: Z>
      
-Replace 'x' with a number, positive or negative.+Replace 'Z' with a number, positive or negative.
  
 ==== Creatures' Stat Display ==== ==== Creatures' Stat Display ====
Line 157: Line 156:
 You can override default display behavior by using the following notetags: You can override default display behavior by using the following notetags:
  
-   <Show Stat x+   <Show Stat X
-   <Hide Stat x>+   <Hide Stat X>
  
-Replace 'x' with the stat/param associated with the Stat Display.+Replace 'X' with the stat/param associated with the Stat Display.
  
 Stat Displays also have a list of Text Color Conditions, which determine what color the text will be that displays the stat. This allows you to use a system where a number changes color when it lowers. Stat Displays also have a list of Text Color Conditions, which determine what color the text will be that displays the stat. This allows you to use a system where a number changes color when it lowers.
Line 170: Line 169:
 The Stat Display will use the color of the first condition that returns true in the list. The Stat Display will use the color of the first condition that returns true in the list.
  
 +===== Summons Scope =====
 +
 +Base RPG Maker allows you to select the Scope of a skill, which determines who can be targeted for it. The addition of Creatures complicates this, and so you should work both with RPG Maker's Scope menu and the system below in tandem to get the scope you want.
 +
 +By default, all skills can target both Battlers and Creatures, and you can modify this with the following notetags:
 +
 +    <Card Summons Scope>
 +    Battler
 +    </Card Summons Scope>
 +
 +    <Card Summons Scope>
 +    Creature
 +    </Card Summons Scope>
 +
 +In addition, scope can be made to include Battlers or individual Creatures when certain conditions are met, like so:
 +
 +    <Card Summons Scope>
 +    if [expression]
 +    Creature
 +    </Card Summons Scope>
 +
 +These if expressions are similar to the If Action in the Core Engine. They evaluate a code expression.
 +
 +However, in this condition the user has access to the variable "target", which represents any given Creature or Battler, and can be used to evaluate if that specific target is valid for the scope.
 +
 +For example:
 +
 +    <Card Summons Scope>
 +    Battler
 +    if target.hp >= target.mhp
 +    Creature
 +    </Card Summons Scope>
 +
 +In the above example, a skill could target the opponent Battler, and any Creature whose HP is greater than or equal to their Max HP - any Creature who hasn't taken damage.
 +
 +Creatures that cannot be targeted will be greyed out during selection.
 +
 +Another example:
 +
 +    <Card Summons Scope>
 +    if target.friendsUnit().fieldCreatures().count == 0
 +    Battler
 +    if user.mp < user.mmp
 +    Creature
 +    </Card Summons Scope>
 +
 +The above example could target the opponent Battler only if there are no Creatures on their side of the field. It also can only target Creatures if the user's MP is not full. If neither condition is met there are no valid targets.
 +
 +===== Card Actions =====
 +
 +^  Card Action Syntax  ^ Description  ^
 +|  <code>Select X from unitName Field</code>  |Replace 'X' with a number or game variable, and replace 'unitName' with 'Ally', 'Opponent', 'Party', or 'Troop'. This activates the respective Field to select the specified number of Cards.  |
 +|  <code>Select X Type typeName from unitName Field</code>  |Replace 'X' with a number or game variable, and replace 'unitName' with 'Ally', 'Opponent', 'Party', or 'Troop'. Replace 'typeName' with a Card Type. This activates the respective Field to select the specified number of Cards, only being able to select the specified Type.  |
 +|  <code>Select All from unitName Field
 +Select All Type typeName from unitName Field</code>  |Works just like the above two Card Actions, but automatically selects all available Cards on the field. |
 +|  <code>Use Skill X on Selected</code>  |Replace 'X' with a number or game variable. This performs a skill matching the ID of X on any Creatures selected using the above Select actions, using the Battler performing this Card Action as the subject for damage calculation.  |
 +|  <code>Battle Log: message</code>  |Replace 'message' with text. This will push that text to the Battle Log.  |
 ===== Enemy Status Window ===== ===== Enemy Status Window =====
  
Line 182: Line 238:
 In the Enemies database, you can adjust the position of the Enemy sprite within the Enemy Status Window using the following notetags: In the Enemies database, you can adjust the position of the Enemy sprite within the Enemy Status Window using the following notetags:
  
-    <Status Window Offset X: x+    <Status Window Offset X: Z
-    <Status Window Offset Y: x>+    <Status Window Offset Y: Z>
  
-Replace 'x' with a number, positive or negative.+Replace 'Z' with a number, positive or negative.
  
 In Mugshot mode, this will determine what section of the Enemy Sprite is cropped within the corner of the window. In Mugshot mode, this will determine what section of the Enemy Sprite is cropped within the corner of the window.
 In Full Image mode, this will determine the placement of the Enemy Sprite within the window. In Full Image mode, this will determine the placement of the Enemy Sprite within the window.
  
 +===== Debug Mode =====
 +
 +Card Summons has a Debug feature which may be useful for lining up parameters.
 +
 +If the user hits F11 in battle during a playtest, some debug visuals will appear that show each side's field grid based on the user's parameters, as well as the "center" of Cards and Creatures.
 +
 +This can help the user set their parameters to match up with the images they're using to represent the field.
 +
 +===== Plugin Commands =====
 +
 +^  Command Syntax  ^  Event Usage  ^  Description  ^
 +| <code>DisableCardField</code> |  Map Only  | Disables the Summons Field and returns to normal CGC battle. |
 +| <code>EnableCardField</code> |  Map Only  | Enables the Summons Field if it's been disabled. |
 +====== Parameters ======
 +
 +^  Field Grid Settings  ^^
 +| **Grid Width** | The amount of squares wide the Field is for each side. |
 +| **Grid Height** | The amount of squares tall the Field is for each side. Width * Height = The total amount of cards that can move onto the Field. |
 +| **Tile Width** | The amount of pixels wide each tile on the Field is. When Cards move to the Field, they move to the center of the first available tile. |
 +| **Tile Height** | The amount of pixels tall each tile on the Field is. |
 +| **Troop Field Image** | The image in img/CGC/summons that makes up the troop's Field. |
 +| **Troop Field Position** | The coordinates for the troop's Field. This will determine the top-left placement of the Field Image. |
 +| **Party Field Image** | The image in img/CGC/summons that makes up the party's Field. |
 +| **Party Field Position** | The coordinates for the party's Field. This will determine the top-left placement of the Field Image. |
 +| **Grid Tile Offset** | The pixel offset between where the image coordinates are and where the tiles are computed. Essentially, the pixel coordinate of each Field Image for where the first Tile is. This value is used for both the Party Field and the Troop Field. |
 +| **Troop Selection Image** | The image in img/CGC/summons that makes up the highlight for a Tile in the Troop Field. |
 +| **Party  Selection Image** | The image in img/CGC/summons that makes up the highlight for a Tile in the Party Field. |
 +
 +^  Field Zone Info  ^ This is a struct much like the Zone structs, simplified to remove extraneous information. ^
 +| **Card Scale** | The scale Cards will become as they move to this Zone. Set this to a value less than 1 if you want cards to shrink as they approach the Zone, and greater than 1 if you want them to grow. ||
 +| **Skew** | This parameter contains X/Y values that can be used together to simulate isometric 3D rotation. Like Scale, Cards will change their skew to match this value when they enter this Zone. ||
 +| **Card Rotation** | Card Rotation is measured in degrees between -360 and 360. ||
 +| **Card Enter SFX** | The SE that will play when a Card enters this Zone. Leave blank for no SE. ||
 +| **Card Enter SFX** | The SE that will play when a Card exits this Zone. Leave blank for no SE. ||
 +| **Card Actions on Empty** | See [[card-actions#card_actions_on_empty|Card Actions on Empty]] ||
 +
 +^  Creature Behavior  ^^
 +| **Attack First Turn?** | The default behavior for whether Creatures can attack in the same turn they're summoned. This can be overridden using the First Turn Attack Creature Passive in notetags. |
 +| **Animation Scale** | The scale for attack animations when targeting Creatures. |
 +
 +^  Creature Stats  ^^
 +| **Stats to Display** | This is an array of Stat Display setting structs, which will be detailed in the table below this one. |
 +| **Font Size** | The font size for the value of stats inside Stat Displays. |
 +| **Font Face** | The name of the font used to display stat text for creatures. Use "GameFont" for default. |
 +
 +^  Stat Display  ^ The struct inside the Stats to Display parameter. ^^
 +| **Parameter** | The name of the stat/parameter for this Stat Display to display. Eg., atk, mhp, hp, etc. ||
 +| **Coordinates** | The position relative to the bottom center of the Creature for this stat to display. ||
 +| **Display on Card?** | Determines whether this Stat Display will appear on Cards with a <Field Creature ID> notetag. ||
 +| **Card Coordinates** | The position relative to the center of the Card for this stat to display, if Display on Card? is set to True. ||
 +| **Background Image** | The image to draw behind the text, in img/CGC/summons. ||
 +| **Text Color Conditions** | This is a list of colors and conditions for the stat text to display in that color. ||
 +| ::: | **Text Color** | The hexcode value for the text to be under this condition. Some color names also work. |
 +| ::: | **Condition** | An expression that evaluates to true/false. Use battler.statName, value, or originalValue. |
 +
 +^  Field Skill Window  ^ This is the window that opens when you select a Creature or Field Card to use its Field Skills. ^
 +| **Static Position** | The default position of the window. |
 +| **Follow Conditions** | Determines whether the Field Skill Window follows the currently selected tile on the Field at an offset. If false, it will use the Static Position instead. |
 +| **Follow Offset** | Determines the offset value of the window relative to the selected tile. Ignore if Follow Conditions is false. |
 +
 +^ Enemy Status Window ^ This is the window that displays the Enemy's status. ^^
 +| **Display Enemy Mode** | Determines how the Enemy Status Window visually displays the Enemy. Options are: ||
 +| ::: | **Mugshot** | This takes a cropped section of the Enemy sprite and puts it in the corner of the window in the same way the Actor Status Window crops the Actor's Face image. |
 +| ::: | **Full Image** | This shows the entire Enemy sprite inside the window, behind all text components. |
 +| ::: | **None** | This does not display the Enemy sprite at all within the Window. |
 +====== Version History ======
 +
 +<code>
 +**v1.0.3**
 +- Added extra error handling when PartyUI_A is missing/below Card Summons, and when notetags reference an Enemy ID higher than is present in the project.
 +
 +**v1.0.2**
 +- Fixed bug where Help Window would not open after using a Selection skill on the Field while using HelpBoxControl.
 +
 +**v1.0.1**
 +- Fixed Use Skill on This Card Action targeting the wrong Creature when the Creature was not the most recently played Card.
 +
 +**v1.0.0**
 +- Released plugin
 +</code>
plugin-card-summons.1728963122.txt.gz · Last modified: 2024/10/15 05:32 by isiahgames