LCCG Card Script Rough Draft
+3
EMSOUP
Ash
Seattleite
7 posters
LCCG Card Script Rough Draft
I wanted to make the scripting “language” more intuitive so we can all contribute. Please say a card you think will be hard to code, I’ll either post what it’ll probably be coded as (or add / adjust the language). You may even try to code a card yourself.
Below each card is comments explaining stuff. I will be steadily updating this since it is only a rough draft.
- Commands - READ ME:
- MOVE:
- - Moves a card(s) from one place to another.
Subcommands:
MOVE - Specify what to move(Range), where to move it from (Area, Side, etc.)
TO - Specify where to move it to
CAUSE - Specify what keywords the move has (Method, Mod) and in the case of conditions, where the effect that caused the move originated from (Area, Side, etc)
- CHANGE:
- - Changes a card's stats, like attribute, atk, or whether it's faceup
Subcommands:
- INCREASE:
- - Increases a card's stats by some amount
Subcommands:
- DECREASE:
- - Decreases a card's stats by some amount
Subcommands:
- COUNT:
- - Counts things in the game, to be used like a number in checking for conditions
Subcommands:
- CARDIS:
- - Specifies that a card has to be in a place (other than its default like the Field for monsters) to activate its effect.
Subcommands:
- TARGET:
- - Targets a card.
Subcommands:
- DENY():
- - Forbids whatever is in the parentheses to happen.
Subcommands:
- CHOOSE:
- - Player chooses whatever is in the FROM subcommand.
Subcommands:
- OPCHOOSE:
- - Exactly like Choose, except opponent chooses.
Subcommands:
- REVEAL:
- - Reveals something to opponent.
Subcommands:
- ENTERPHASE:
- - Jumps to a phase.
Subcommands:
- SKIP:
- - Skips the next (or current) phase.
Subcommands:
Below each card is comments explaining stuff. I will be steadily updating this since it is only a rough draft.
- 3 - Switch Striker:
Condition_Trigger
MOVE Range:Me, Area:All TO Area:All CAUSE Method:Destroy, Mod:Battle
Action
MOVE Range:1, Area:Hand, Side:Player, Type:Warrior TO Area:Monster CAUSE Method:Summon, Mod:Special
------
Condition - Destroyed by battle. Doesn't matter where it goes.
Mandatory Effect - Special Summon 1 Warrior from your Hand.
- 4 - Turtle from the Sky:
Condition_Trigger
MOVE Range:Me, Area:All TO Area:All, Method:Destroy CAUSE Mod:Battle
Action
SKIP Phase:Battle
----
Condition - Destroyed by battle. Doesn't matter where it goes.
Mandatory Effect - Skip battle phase (right now).
- 5 – Mystic Energy Generator:
Condition_Ignition
CARDIS Area:Grave
___Cost_Ignition
___MOVE Range:Me, Area:Grave TO Area:RFG CAUSE Method:Banish
______Action
______MOVE Range:1, Area:Top_Deck TO Area:Hand CAUSE Method:Draw
-----
Condition - Card must be in Graveyard.
Cost for Ignition - Banish from Graveyard
Effect - Draw 1 Card
- 6 - Reverse Destruction:
Condition_STActivation
MOVE Range:All, Area:Monster, Side:Player TO Area:Grave CAUSE Method:Destroy
___Action
___MOVE Range:1, Area:Field, Side:Opponent TO Area:Grave CAUSE Method:Destroy
-----
Condition for ST Activation (this is the "flipping it up" type of activation) - Activate when your monster is destroyed.
Action for ST Activation - Destroy 1 Card on the opponent's side of the field.
- 8 - Binding Force:
Condition_Trigger
MOVE Range:Me, Area:Monster, Position:Atk TO Area:Grave CAUSE Method:Destroy
___Condition_Trigger
___ENTERPHASE Phase:Standby, Side:Player
___CARDIS Area:Grave
______Action_Trigger_Mandatory
______MOVE Range:Me, Area:Grave TO Area:Monster, Position:Def, Face:Up CAUSE Method:Summon, Mod:Special
-----
Condition 1- Card is destroyed while in attack position and sent to Graveyard.
Condition 2- Your standby phase is entered and card is still in the Graveyard (Target will be lost if removed from grave)
Mandatory Effect - Special Summon from Graveyard in Defense Position.
- 9 - Junk Salvage:
Cost_STActivation
LOSELP 1000 FROM Side:Player CAUSE Method:Pay
___Action
___MOVE Range:3, Area:Grave, Side:Player, Atk:<=1000 TO Area:Hand CAUSE Method:Add
- 10 - Tactical Offering:
Cost_Ignition ---This is Ignition, not STActivation. It is not required to flip the card itself face-up.---
LOSELP 500 FROM Side:Player CAUSE Method:Pay
___Action
___MOVE Range:1, Area:Hand, Side:Player, Attr:Monster TO Area:Monster, Face:Down, Position:Def CAUSE Method:Set, Mod:Normal
- 11 - Blood Hound:
Condition_Trigger
ENTERPHASE Phase:End, Side:Player
___Cost_Trigger ---This is a Maintenance cost, it's a cost without an action. It is mandatory by default.
___MOVE Range:1, Area:Field, Side:Player TO Area:Grave CAUSE Method:Destroy
- 12 - Rusty Cog:
Condition_Ignition
Perturn:1
___Action
___MOVE Range:1, Area:Deck, Area:Grave, Side:Player, Name:Rusty Cog TO Area:Hand CAUSE Method:Add
- 13 - Overgrown Gateguard:
Action_Continuous
DENY (TARGET Area:Field, Side:Both, Attr:Spell, Type:Field CAUSE Side:Opponent)
Condition_Trigger
MOVE Range:Me, Area:All TO Area:Grave CAUSE Method:Destroy
___Action
___MOVE Range:1, Area:Field, Side:Both, Face:Down TO Area:Grave CAUSE Method:Destroy
- 1428 - Insane Pierrot:
Normally all of these are supposed to be indented, but cause of forum restrictions indentations are underscores
---Cannot be Set----
Action_Summon
DENY (MOVE Range:Me TO Area:Monster CAUSE Method:Set)
---Cannot be Special Summoned from the Deck---
Action_Summon
DENY (MOVE Range:Me, Area:Deck TO Area:Monster CAUSE Method:Summon, Mod:Special)
---Cannot be Summoned if you control another monster---
Condition_Summon
COUNT Area:Monster, Side:Player > 0
___Action_Summon
___DENY (MOVE Range:Me TO Area:Monster CAUSE Method:Summon)
---Cannot be Destroyed in Battle---
Action_Continuous
DENY (MOVE Range:Me CAUSE Method:Destroy, Mod:Battle)
---During the End Phase, destroy all of your other monsters with a higher level than Insane Pierrot---
Condition_Trigger
ENTERPHASE Phase:End, Side:Player
___Action
___MOVE Range:All, Area:Monster, Side:Player, Level:>Me.Level TO Area:Grave CAUSE Method:Destroy
---Cannot control more than 1 Faceup Spell/Trap card---
Action_Continuous
DENY (COUNT Range:All, Area:ST, Side:Player, Face:Up, Attr:Spell, Attr:Trap > 1)
---Cannot control more than 1 OTHER monster---
Action_Continuous
DENY (COUNT Range:All, Area:Monster, Side:Player > 2)
---Once per turn, you can discard 1 card... (explained in post)---
Condition_Ignition
Perturn:1
___Cost_Ignition
___MOVE Range:1, Area:Hand, Side:Player TO Area:Grave CAUSE Method:Discard STORE DiscardedCardVar
___INCREMENT TotalDiscardedCards
______Condition
______DiscardedCardVar.Attr IS Attr:Spell
_________Action
_________INCREMENT DiscardedSpellNumber
_________MOVE Range:DiscardedSpellNumber, Area:Field, Side:Both, Face:Up TO Area:Grave CAUSE Method:Destroy
______Condition
______DiscardedCardVar.Attr IS Attr:Trap
_________Action
_________INCREMENT DiscardedTrapNumber
_________MOVE Range:DiscardedTrapNumber, Area:Grave, Side:Player TO Area:Hand CAUSE Method:Add
____________Condition_Trigger
____________ENTERPHASE Phase:End, Side:Player
_______________Action
_______________MOVE Range:DiscardedTrapNums, Area:Hand, Area:Field, Side:Player TO Area:RFG CAUSE Method:Banish
______Condition
______DiscardedCardVar.Attr IS Attr:Monster
_________Action
_________CHANGE Range:All, Area:Monster, Face:Up, Side:Both, Level:<DiscardedCardVar.Level, Card:!Me TO Negated:Yes
_________CHANGE Range:All, Area:Monster, Face:Up, Side:Both, Card:!Me TO Atk:0
---If you discarded 20 or more cards, gains 4000 ATK and DEF and unaffected by other cards---
Condition_Continuous
COUNT TotalDiscardedCards >= 20
___Action_Continuous
___INCREASE Range:Me BY Atk:4000
___INCREASE Range:Me BY Def:4000
___DENY (AFFECT Range:Me FROM Card:!Me)
- 1970 - Chthonian Pact:
Action_STActivation
REVEAL Range:2, Area:Deck, Side:Player STORE FirstRevealedCard, SecondRevealedCard
OPCHOOSE Range:1 FROM FirstRevealedCard, SecondRevealedCard
MOVE Range:All, Card:Chosen, Area:Deck, Side:Player TO Area:Hand, Side:Opponent CAUSE Method:Add
MOVE Range:All, Card:!Chosen, Area:Deck, Side:Player TO Area:Hand, Side:Player CAUSE Method:Add
Last edited by Seattleite on Wed Oct 23, 2013 5:22 am; edited 16 times in total
Re: LCCG Card Script Rough Draft
Does this seem somewhat comprehensible or is everyone confused as hell?
Re: LCCG Card Script Rough Draft
utterly befuddled
Ash- Posts : 1484
Join date : 2010-12-10
Age : 30
Location : Hull, England
Re: LCCG Card Script Rough Draft
I see and kinda understand the functions, but an example of a more complicated card should be made, with comments on the code to explain the functions.
EMSOUP- Posts : 1028
Join date : 2012-08-31
Age : 38
Location : Bandung, Indonesia
Re: LCCG Card Script Rough Draft
Explanation for the huge long effect of Insane Pierrot:
Condition_Ignition
Perturn:1
This means this is an ignition effect and the condition is once per turn.
___Cost_Ignition
___MOVE Range:1, Area:Hand, Side:Player TO Area:Grave CAUSE Method:Discard STORE DiscardedCardVar
___INCREMENT TotalDiscardedCards
This cost is indented under the Once per Turn condition, which means it can only be done if the condition is fulfilled. The cost is to Discard 1 card.
STORE will store the discarded card into a variable that you can use later.
INCREMENT does 2 things. First, it creates a Number Variable called TotalDiscardedCards which you can (and do) use later. Second, it increases the variable by 1 every time this effect is called, letting you keep track of how many times you use it.
______Condition
______DiscardedCardVar.Attr IS Attr:Spell
_________Action
_________INCREMENT DiscardedSpellNumber
_________MOVE Range:DiscardedSpellNumber, Area:Field, Side:Both, Face:Up TO Area:Grave CAUSE Method:Destroy
This Condition and Action are indented under the cost which means after the cost is fulfilled, it will check if any condition are met, then perform the action.
This Condition checks if the Discarded Card’s Attribute is Spell.
If so, the Action will keep track of the number of discarded Spells, then destroy an equal number of face-up cards on the field.
______Condition
______DiscardedCardVar.Attr IS Attr:Trap
_________Action
_________INCREMENT DiscardedTrapNumber
_________MOVE Range:DiscardedTrapNumber, Area:Grave, Side:Player TO Area:Hand CAUSE Method:Add
____________Condition_Trigger
____________ENTERPHASE Phase:End, Side:Player
_______________Action
_______________MOVE Range:DiscardedTrapNums, Area:Hand, Area:Field, Side:Player TO Area:RFG CAUSE Method:Banish
This is another Condition-Action pair which activates if the Discarded card is a Trap.
It adds a number of cards from your Graveyard to your Hand equal to the total number of discarded traps.
After this action is fulfilled, it waits for the Condition_Trigger (A Condition for a Trigger Effect) which is the End Phase is entered.
If so, you must banish the same number of cards from your Hand and/or Field. Notice Area:Hand and Area:Field. If there are multiple Areas, multiple Types, multiple Attributes or multiple anything in the same effect, it means EITHER of those will work. In this case, either the Hand or Field.
______Condition
______DiscardedCardVar.Attr IS Attr:Monster
_________Action
_________CHANGE Range:All, Area:Monster, Face:Up, Side:Both, Level:<DiscardedCardVar.Level, Card:!Me TO Negated:Yes
_________CHANGE Range:All, Area:Monster, Face:Up, Side:Both, Card:!Me TO Atk:0
If the discarded card is a monster, negates all other face-up monsters on the field’s effects with a lower level than the discarded monster.
Notice the Exclamation Point after Card:. This means NOT. In this case, it does not affect Insane Pierrot itself.
It also makes all other monsters ATK 0.
Condition_Ignition
Perturn:1
This means this is an ignition effect and the condition is once per turn.
___Cost_Ignition
___MOVE Range:1, Area:Hand, Side:Player TO Area:Grave CAUSE Method:Discard STORE DiscardedCardVar
___INCREMENT TotalDiscardedCards
This cost is indented under the Once per Turn condition, which means it can only be done if the condition is fulfilled. The cost is to Discard 1 card.
STORE will store the discarded card into a variable that you can use later.
INCREMENT does 2 things. First, it creates a Number Variable called TotalDiscardedCards which you can (and do) use later. Second, it increases the variable by 1 every time this effect is called, letting you keep track of how many times you use it.
______Condition
______DiscardedCardVar.Attr IS Attr:Spell
_________Action
_________INCREMENT DiscardedSpellNumber
_________MOVE Range:DiscardedSpellNumber, Area:Field, Side:Both, Face:Up TO Area:Grave CAUSE Method:Destroy
This Condition and Action are indented under the cost which means after the cost is fulfilled, it will check if any condition are met, then perform the action.
This Condition checks if the Discarded Card’s Attribute is Spell.
If so, the Action will keep track of the number of discarded Spells, then destroy an equal number of face-up cards on the field.
______Condition
______DiscardedCardVar.Attr IS Attr:Trap
_________Action
_________INCREMENT DiscardedTrapNumber
_________MOVE Range:DiscardedTrapNumber, Area:Grave, Side:Player TO Area:Hand CAUSE Method:Add
____________Condition_Trigger
____________ENTERPHASE Phase:End, Side:Player
_______________Action
_______________MOVE Range:DiscardedTrapNums, Area:Hand, Area:Field, Side:Player TO Area:RFG CAUSE Method:Banish
This is another Condition-Action pair which activates if the Discarded card is a Trap.
It adds a number of cards from your Graveyard to your Hand equal to the total number of discarded traps.
After this action is fulfilled, it waits for the Condition_Trigger (A Condition for a Trigger Effect) which is the End Phase is entered.
If so, you must banish the same number of cards from your Hand and/or Field. Notice Area:Hand and Area:Field. If there are multiple Areas, multiple Types, multiple Attributes or multiple anything in the same effect, it means EITHER of those will work. In this case, either the Hand or Field.
______Condition
______DiscardedCardVar.Attr IS Attr:Monster
_________Action
_________CHANGE Range:All, Area:Monster, Face:Up, Side:Both, Level:<DiscardedCardVar.Level, Card:!Me TO Negated:Yes
_________CHANGE Range:All, Area:Monster, Face:Up, Side:Both, Card:!Me TO Atk:0
If the discarded card is a monster, negates all other face-up monsters on the field’s effects with a lower level than the discarded monster.
Notice the Exclamation Point after Card:. This means NOT. In this case, it does not affect Insane Pierrot itself.
It also makes all other monsters ATK 0.
Re: LCCG Card Script Rough Draft
I'm so sorry Sea
ALiCE'S EMOTiON- Posts : 686
Join date : 2010-10-27
Age : 32
Location : Ohio
Re: LCCG Card Script Rough Draft
I'm wondering if maybe Insane Pierrot's effect might not work properly with the current script. Does it detect ALL discarding, or only discarding by it's effects? what happens when it is summoned while there are more than 1 face-up spell or trap? (with the script, not the card)
DIGITAL- Posts : 1067
Join date : 2011-03-18
Re: LCCG Card Script Rough Draft
so Cost:Igniton means that the player activates that effect?
DIGITAL- Posts : 1067
Join date : 2011-03-18
Re: LCCG Card Script Rough Draft
Good question, cost_ignition means it's a cost for activating an ignition effect. If it was to detect other discards, it would be a trigger effect.
The plan with summoning is that action_summon will be detected no matter where the card is, so summoning when you control more than 1 faceup spell/trap is impossible.
But, this might be due to my limited knowledge on rulings. Is one of them destroyed upon summon instead? I'm not sure, but I'm going with just being unable to summon.
This is good, generate discussion to improve the language I'll get to chthonian pact today.
The plan with summoning is that action_summon will be detected no matter where the card is, so summoning when you control more than 1 faceup spell/trap is impossible.
But, this might be due to my limited knowledge on rulings. Is one of them destroyed upon summon instead? I'm not sure, but I'm going with just being unable to summon.
This is good, generate discussion to improve the language I'll get to chthonian pact today.
Re: LCCG Card Script Rough Draft
Explanation for Chthonian Pact:
- 1970 - Chthonian Pact:
Action_STActivation
REVEAL Range:2, Area:Deck, Side:Player STORE FirstRevealedCard, SecondRevealedCard
^^^ Reveals 2 cards from your deck. These two cards are stored in variables FirstRevealedCard and SecondRevealedCard respectively.
OPCHOOSE Range:1 FROM FirstRevealedCard, SecondRevealedCard
^^^ Opponent chooses 1 thing from a list of things, in this case, cards.
MOVE Range:All, Card:Chosen, Area:Deck, Side:Player TO Area:Hand, Side:Opponent CAUSE Method:Add
^^^ Adds the chosen card to your opponent's hand. The Range:All might not be necessary, I was thinking of making it a requirement in every MOVE.
MOVE Range:All, Card:!Chosen, Area:Deck, Side:Player TO Area:Hand, Side:Player CAUSE Method:Add
^^^ Adds the NOT-Chosen card to YOUR hand.
Similar topics
» LCCG Card Hall of Fame
» LCCG Wiki Update Project / Card Errata's
» A Little Important Note for everyone in the LCCG that Pays attention to the Card Suggestions forum
» a Spell/Trap card in the monster card zone and vice versa = mindblown
» LCCG 1v1 Leaderboard (Pre-Set 16)
» LCCG Wiki Update Project / Card Errata's
» A Little Important Note for everyone in the LCCG that Pays attention to the Card Suggestions forum
» a Spell/Trap card in the monster card zone and vice versa = mindblown
» LCCG 1v1 Leaderboard (Pre-Set 16)
Permissions in this forum:
You cannot reply to topics in this forum