diff --git a/api/enums/DoubleTributeFlag.yml b/api/enums/DoubleTributeFlag.yml new file mode 100644 index 00000000..03e7a868 --- /dev/null +++ b/api/enums/DoubleTributeFlag.yml @@ -0,0 +1,4 @@ +---!enum +name: DoubleTributeFlag +description: (To be added) +tags: [ under-construction ] diff --git a/api/functions/Card/AddAdditionalAttack.yml b/api/functions/Card/AddAdditionalAttack.yml deleted file mode 100644 index 6218fd0f..00000000 --- a/api/functions/Card/AddAdditionalAttack.yml +++ /dev/null @@ -1,27 +0,0 @@ ----!function -name: AddAdditionalAttack -namespace: Card -description: |- - Rush related function -status: - index: stable -parameters: - - name: c - type: [ any ] - description: (To be added) - - name: atknum - type: [ any ] - description: (To be added) - - name: reset - type: [ any ] - description: (To be added) - - name: rc - type: [ any ] - description: (To be added) - - name: condition - type: [ any ] - description: (To be added) - - name: properties - type: [ any ] - description: (To be added) -tags: [ under-construction ] diff --git a/api/functions/Card/AddAdditionalAttackOnMonster.yml b/api/functions/Card/AddAdditionalAttackOnMonster.yml deleted file mode 100644 index 2b9cfdd4..00000000 --- a/api/functions/Card/AddAdditionalAttackOnMonster.yml +++ /dev/null @@ -1,27 +0,0 @@ ----!function -name: AddAdditionalAttackOnMonster -namespace: Card -description: |- - Rush related function -status: - index: stable -parameters: - - name: c - type: [ any ] - description: (To be added) - - name: atknum - type: [ any ] - description: (To be added) - - name: reset - type: [ any ] - description: (To be added) - - name: rc - type: [ any ] - description: (To be added) - - name: condition - type: [ any ] - description: (To be added) - - name: properties - type: [ any ] - description: (To be added) -tags: [ under-construction ] diff --git a/api/functions/Card/AddAdditionalAttackOnMonsterAll.yml b/api/functions/Card/AddAdditionalAttackOnMonsterAll.yml deleted file mode 100644 index a1800003..00000000 --- a/api/functions/Card/AddAdditionalAttackOnMonsterAll.yml +++ /dev/null @@ -1,27 +0,0 @@ ----!function -name: AddAdditionalAttackOnMonsterAll -namespace: Card -description: |- - Rush related function -status: - index: stable -parameters: - - name: c - type: [ any ] - description: (To be added) - - name: reset - type: [ any ] - description: (To be added) - - name: rc - type: [ any ] - description: (To be added) - - name: value - type: [ any ] - description: (To be added) - - name: condition - type: [ any ] - description: (To be added) - - name: properties - type: [ any ] - description: (To be added) -tags: [ under-construction ] diff --git a/api/functions/Card/AddCannotBeDestroyedBattle.yml b/api/functions/Card/AddCannotBeDestroyedBattle.yml deleted file mode 100644 index 8cf4832b..00000000 --- a/api/functions/Card/AddCannotBeDestroyedBattle.yml +++ /dev/null @@ -1,27 +0,0 @@ ----!function -name: AddCannotBeDestroyedBattle -namespace: Card -description: |- - Rush related function -status: - index: stable -parameters: - - name: c - type: [ any ] - description: (To be added) - - name: reset - type: [ any ] - description: (To be added) - - name: value - type: [ any ] - description: (To be added) - - name: rc - type: [ any ] - description: (To be added) - - name: condition - type: [ any ] - description: (To be added) - - name: properties - type: [ any ] - description: (To be added) -tags: [ under-construction ] diff --git a/api/functions/Card/AddCannotBeDestroyedEffect.yml b/api/functions/Card/AddCannotBeDestroyedEffect.yml deleted file mode 100644 index 2153d2ad..00000000 --- a/api/functions/Card/AddCannotBeDestroyedEffect.yml +++ /dev/null @@ -1,27 +0,0 @@ ----!function -name: AddCannotBeDestroyedEffect -namespace: Card -description: |- - Rush related function -status: - index: stable -parameters: - - name: c - type: [ any ] - description: (To be added) - - name: reset - type: [ any ] - description: (To be added) - - name: value - type: [ any ] - description: (To be added) - - name: rc - type: [ any ] - description: (To be added) - - name: condition - type: [ any ] - description: (To be added) - - name: properties - type: [ any ] - description: (To be added) -tags: [ under-construction ] diff --git a/api/functions/Card/AddCenterToSideEffectHandler.yml b/api/functions/Card/AddCenterToSideEffectHandler.yml index 7025871d..66f7da7f 100644 --- a/api/functions/Card/AddCenterToSideEffectHandler.yml +++ b/api/functions/Card/AddCenterToSideEffectHandler.yml @@ -1,15 +1,15 @@ ---!function name: AddCenterToSideEffectHandler namespace: Card -description: |- - Rush related function +description: Grants an effect to a center Maximum Monster's [L] and [R] pieces. Primarily used to share protection effects. +summary: Grants an effect to a Maximum Monster's [L] and [R] pieces. status: index: stable parameters: - name: c - type: [ any ] - description: (To be added) + type: [ Card ] + description: The main (center) Maximum Monster Card. - name: eff - type: [ any ] - description: (To be added) -tags: [ under-construction ] + type: [ Effect ] + description: The effect to be granted to the [L] and [R] monsters. +tags: [ rush, registers-effect ] diff --git a/api/functions/Card/AddCounter.yml b/api/functions/Card/AddCounter.yml index a1f6b2c2..d9af568f 100644 --- a/api/functions/Card/AddCounter.yml +++ b/api/functions/Card/AddCounter.yml @@ -1,26 +1,26 @@ ---!function name: AddCounter namespace: Card -description: |- - Adds a number (int count) of the specified counter (int countertype) to a card (Card c). If singly is set to a number, then it will be added by that number each time. When the number of added counter would exceed the limit for that card, it is not added. +description: Places any number of counters of the specified type to a card. +summary: Places counters to a card. status: index: stable parameters: - name: c type: [ Card ] - description: (To be added) + description: The card to place counters on. - name: countertype type: [ int ] - description: (To be added) + description: The value for the type of counter to be placed. - name: count type: [ int ] - description: (To be added) - - name: singly - type: [ int ] - description: (To be added) + description: The number of counters to be placed. + - name: checklimits + type: [ bool ] + description: If set to `true`, only places counters up to the maximum value set by an `EFFECT_COUNTER_LIMIT` effect on the card for that counter. If `false`, does not place any counter if the limit would be exceeded. required: false defaultValue: false returns: - type: [ bool ] - description: (To be added) -tags: [ under-construction ] + description: Returns `true` if counters were successfully placed. +tags: [ counter-related ] diff --git a/api/functions/Card/AddDirectAttack.yml b/api/functions/Card/AddDirectAttack.yml deleted file mode 100644 index 22d1c2c2..00000000 --- a/api/functions/Card/AddDirectAttack.yml +++ /dev/null @@ -1,24 +0,0 @@ ----!function -name: AddDirectAttack -namespace: Card -description: |- - Rush related function -status: - index: stable -parameters: - - name: c - type: [ any ] - description: (To be added) - - name: reset - type: [ any ] - description: (To be added) - - name: rc - type: [ any ] - description: (To be added) - - name: condition - type: [ any ] - description: (To be added) - - name: properties - type: [ any ] - description: (To be added) -tags: [ under-construction ] diff --git a/api/functions/Card/AddDoubleTribute.yml b/api/functions/Card/AddDoubleTribute.yml index 65ceeba2..c2f641c1 100644 --- a/api/functions/Card/AddDoubleTribute.yml +++ b/api/functions/Card/AddDoubleTribute.yml @@ -1,27 +1,29 @@ ---!function name: AddDoubleTribute namespace: Card -description: |- - Rush related function +description: Adds an effect to a card that allows using cards as double (or triple) tributes in Rush Duels. +summary: Allows using cards as double (or triple) tributes in Rush Duels. status: index: stable parameters: - name: c - type: [ any ] - description: (To be added) + type: [ Card ] + description: The card that will receive the effect. - name: id - type: [ any ] - description: (To be added) + type: [ int ] + description: A card passcode/ID, from which the strings `0` and `1` are read when the tribute summon would happen, to identify which double (or triple) tribute effect is being used. - name: otfilter - type: [ any ] - description: (To be added) + type: [ CardFilter ] + description: Filters which monsters on the field can be tributed. - name: eftg - type: [ any ] - description: (To be added) - - name: reset - type: [ any ] - description: (To be added) + type: [ TargetFilterFunction ] + description: Filters which monsters can use the affected cards as double (or triple) tributes for their summon. + - name: resets + type: [ int ] + description: Composite [Reset](/api/enums/Reset) values to specify when the effect stops applying. + defaultValue: 0 - name: ... - type: [ any ] - description: (To be added) -tags: [ under-construction ] + type: [ int ] + # TODO: clarify what the flag effects actually achieve + description: Any number of [DoubleTributeFlag](/api/enums/DoubleTributeFlag) constants, that will be registered to the card as a flag effects, with the same reset values as `resets`. +tags: [ rush ] diff --git a/api/functions/Card/AddMaximumAtkHandler.yml b/api/functions/Card/AddMaximumAtkHandler.yml index dd0e6772..0881f5f5 100644 --- a/api/functions/Card/AddMaximumAtkHandler.yml +++ b/api/functions/Card/AddMaximumAtkHandler.yml @@ -1,12 +1,12 @@ ---!function name: AddMaximumAtkHandler namespace: Card -description: |- - Rush related function +description: Adds an Effect to a Card that changes its original ATK to its Maximum ATK when in Maximum Mode. The Maximum ATK is obtained from the card's metatable. +summary: Implements the Maximum ATK of a Maximum monster. status: index: stable parameters: - name: c - type: [ any ] - description: (To be added) -tags: [ under-construction ] + type: [ Card ] + description: The card that will receive the effect. +tags: [ rush, registers-effect ] diff --git a/api/functions/Xyz/AddProcedure.yml b/api/functions/Xyz/AddProcedure.yml index b43ae861..b692c32c 100644 --- a/api/functions/Xyz/AddProcedure.yml +++ b/api/functions/Xyz/AddProcedure.yml @@ -1,40 +1,52 @@ ---!function name: AddProcedure namespace: Xyz -description: |- - Adds an Xyz Procedure where (function f) is the required Xyz Material, and (int lv) is the required level, but it can also be nil if there is no required Level. (int ct) is the required number of materials. (function alterf) is the alternate material, e.g. Number C39: Utopia Ray. (int desc) is the description shown when attempting to Xyz Summon using (function alterf). (int maxct) is the maximum number of materials, which defaults to (int ct). (function op) is used by some monsters do something else in addition to using an Xyz Material (e.g. Digital Bug Corebage (detach 2 materials) or Number 99: Utopic Dragon (discard 1 "Rank-Up-Magic")). (bool mustbemat) is used if you can only use the listed materials during the Xyz Summon, this disallows Anime effects such as Orichalcum Chain (minus 1 material) or Triangle Evolution (triple material). (function exchk) is an additional check at the end of selecting materials (e.g. Number F0: Utopic Future (checks if the materials have the same Rank) +description: Registers an effect to a card that allows it to be Xyz Summoned. +summary: Adds an Xyz Summon procedure to a card. status: index: stable parameters: - name: c type: [ Card ] - description: (To be added) + description: The card that will receive the procedure. - name: f - type: [ function, nil ] - description: (To be added) + type: [ CardFilter, nil ] + description: A filter for the cards that can be used as Xyz materials, in addition to the default matching level requirement. - name: lv type: [ int, nil ] - description: (To be added) + description: The level the materials must have. Set to `nil` if no specific level is required. - name: ct type: [ int ] - description: (To be added) + description: The number of required materials. If the card allows a variable number of materials, this parameter is used as the minimum. - name: alterf - type: [ function, nil ] - description: (To be added) + type: [ CardFilter ] + description: |- + A filter for alternative material(s), if allowed by the card (e.g. [Number C39: Utopia Ray](https://yugipedia.com/wiki/9914)). + required: false + defaultValue: nil - name: desc type: [ int ] - description: (To be added) + description: The hint description shown when attempting to Xyz Summon using the alternative materials. Mandatory if `alterf` is not `nil`. + required: false + defaultValue: 0 - name: maxct type: [ int ] - description: (To be added) + description: The maximum number of materials. + required: false defaultValue: ct - name: op - type: [ function ] - description: (To be added) + type: [ XyzExtraOperation ] + description: An additional function to execute when Xyz Summoning. + required: false + defaultValue: nil - name: mustbemat type: [ bool ] - description: (To be added) + description: If `true`, restricts the materials to specifically listed materials. This disables the effects of cards such as [Orichalcum Chain](https://yugipedia.com/wiki/Orichalcum%20Chain) (minus 1 material) and [Triangle Evolution](https://yugipedia.com/wiki/Triangle_Evolution) (triple material). + required: false + defaultValue: false - name: exchk - type: [ function ] - description: (To be added) -tags: [ under-construction ] + type: [ XyzExtraCheck ] + description: An additional check to perform on material groups. + required: false + defaultValue: nil +tags: [ xyz-related, registers-effect ] diff --git a/api/tags/rush.yml b/api/tags/rush.yml index 13d28f61..6ed419d0 100644 --- a/api/tags/rush.yml +++ b/api/tags/rush.yml @@ -1,5 +1,4 @@ ---!tag name: rush -description: &desc |- - Related to Rush Duels. -summary: *desc +description: Functions and constants related to the implementation of [Rush Duel](https://yugipedia.com/wiki/Yu-Gi-Oh!_Rush_Duel) cards and rules. +summary: Related to Rush Duels. diff --git a/api/types/XyzExtraCheck.yml b/api/types/XyzExtraCheck.yml new file mode 100644 index 00000000..bb9d2f70 --- /dev/null +++ b/api/types/XyzExtraCheck.yml @@ -0,0 +1,20 @@ +---!type +name: XyzExtraCheck +supertype: function +description: |- + An additional check to perform on groups of materials to be used for an Xyz Summon (e.g. [Number F0: Utopic Future](https://yugipedia.com/wiki/11413)). +summary: Additional check to perform on groups of Xyz materials +parameters: + - name: g + type: [ Group ] + description: The group of materials to be checked. + - name: tp + type: [ int ] + description: The player performing the Xyz Summon. + - name: xyz + type: [ Card ] + description: The Xyz Monster to summon. +returns: + - type: [ bool ] + description: If `g` fulfills the check. +tags: [ xyz-related ] diff --git a/api/types/XyzExtraOperation.yml b/api/types/XyzExtraOperation.yml new file mode 100644 index 00000000..3f1252f7 --- /dev/null +++ b/api/types/XyzExtraOperation.yml @@ -0,0 +1,24 @@ +---!type +name: XyzExtraOperation +supertype: function +description: |- + An additional function to be executed when performing an Xyz Summon, *before* using the Xyz Materials (e.g. [Digital Bug Corebage](https://yugipedia.com/wiki/12327), [Number 99: Utopic Dragon](https://yugipedia.com/wiki/11305)) +summary: Additional function to execute when Xyz Summoning. +parameters: + - name: e + type: [ Effect ] + description: The Xyz Summon procedure effect. + - name: tp + type: [ int ] + description: The player performing the Xyz Summon. + - name: chk + type: [ int ] + description: Must be `0` when checking if the operation can be performed, and `1` when executing the operation. + - name: mc + type: [ Card ] + description: The card being used as material. +returns: + - type: [ bool ] + description: If `chk` is 0, returns `true` if the operation can be performed. + guaranteed: false +tags: [ xyz-related ]