diff --git a/keywordedSchema.json b/keywordedSchema.json index c50bd95..8a57dd4 100644 --- a/keywordedSchema.json +++ b/keywordedSchema.json @@ -1 +1 @@ -{"Card":{"$ref":"#/definitions/Card"},"definitions":{"Attack":{"type":"int","name":"Attack","max":32},"Card":{"type":"interface","name":"Card","description":"Choose a Card","children":{"Action":{"$ref":"#/definitions/action"},"Entity":{"$ref":"#/definitions/entity"},"Place":{"$ref":"#/definitions/place"},"Headquarter":{"$ref":"#/definitions/headquarter"}}},"CardMode":{"type":"enum","name":"Card Mode","enum":["ALL","OPPONENTSCHOICE","RANDOM","TARGET"]},"CardName":{"type":"string","name":"Card Name","max":32,"min":1},"CardType":{"type":"enum","name":"Card Type","enum":["ACTION","ENTITY","PLACE","HQ"]},"CastingCost":{"type":"int","name":"Casting Cost","max":32},"Class":{"type":"struct","name":"Class","description":"Build a Class","children":{"Nature":{"$ref":"#/definitions/Nature"},"Mysticism":{"$ref":"#/definitions/Mysticism"},"Technology":{"$ref":"#/definitions/Technology"},"Culture":{"$ref":"#/definitions/Culture"}},"required":["Nature","Mysticism","Technology","Culture"],"interactionText":"§Nature §Mysticism §Technology §Culture"},"Culture":{"type":"bool","name":"Culture"},"Delay":{"type":"int","name":"Delay","max":32},"FlavourText":{"type":"string","name":"Flavour Text","max":1000},"Health":{"type":"int","name":"Health","max":32},"Keyword":{"type":"string","name":"Keyword","max":10000},"Keywords":{"type":"array","name":"Keywords","description":"Add some Keywords","children":{"Keyword":{"$ref":"#/definitions/Keyword"}},"max":3,"min":1},"Mysticism":{"type":"bool","name":"Mysticism"},"Nature":{"type":"bool","name":"Nature"},"PlayerMode":{"type":"enum","name":"Player Mode","enum":["YOU","OPPONENT"]},"RulesText":{"type":"string","name":"Rules Text","max":1000},"RulesTexts":{"type":"array","name":"Rules Texts","description":"Add some Rules Texts","children":{"RulesText":{"$ref":"#/definitions/RulesText"}},"max":3},"SimpleIntValue":{"type":"int","name":"Simple Int Value","max":32},"Tag":{"type":"enum","name":"Tag","enum":["ANIMAL","BOT","DWARF","ENGINEER","EQUIPMENT","FARM","FIRE","HUMAN","KNIGHT","MAGIC","MILITANT","PRIMITIVE","RANGE","SPIRITUAL","TACTIC","TECHNOCRAT"]},"Tags":{"type":"array","name":"Tags","description":"Add some Tags","children":{"Tag":{"$ref":"#/definitions/Tag"}},"max":3,"min":1},"Technology":{"type":"bool","name":"Technology"},"abilities":{"type":"array","name":"Abilities","description":"Add some Abilities","children":{"Ability":{"$ref":"#/definitions/ability"}},"max":3},"ability":{"type":"interface","name":"Ability","description":"Choose a Ability","children":{"Arrival":{"$ref":"#/definitions/arrival"},"Battlecry":{"$ref":"#/definitions/battlecry"},"Channel":{"$ref":"#/definitions/channel"},"DiscardPay":{"$ref":"#/definitions/discardPay"},"Dismantle":{"$ref":"#/definitions/dismantle"},"Dissolve":{"$ref":"#/definitions/dissolve"},"OnConstruction":{"$ref":"#/definitions/onConstruction"},"OnDeath":{"$ref":"#/definitions/onDeath"},"OnSpawn":{"$ref":"#/definitions/onSpawn"},"Pay":{"$ref":"#/definitions/pay"},"Periodic":{"$ref":"#/definitions/periodic"},"Regenerate":{"$ref":"#/definitions/regenerate"},"Tribute":{"$ref":"#/definitions/tribute"}}},"action":{"type":"struct","name":"Action","description":"Build a Action","children":{"CardName":{"$ref":"#/definitions/CardName"},"CastingCost":{"$ref":"#/definitions/CastingCost"},"Class":{"$ref":"#/definitions/Class"},"Effects":{"$ref":"#/definitions/effects"},"FlavourText":{"$ref":"#/definitions/FlavourText"},"Tags":{"$ref":"#/definitions/Tags"},"Keywords":{"$ref":"#/definitions/Keywords"},"RulesTexts":{"$ref":"#/definitions/RulesTexts"}},"required":["CardName","CastingCost","Class","Effects","FlavourText","Tags","Keywords","RulesTexts"],"interactionText":"§CardName §CastingCost §Class §Effects §FlavourText §Tags §Keywords §RulesTexts"},"anthem":{"type":"struct","name":"Anthem","description":"Anthem gives all friendly entities with a certain tag +1/+1.","children":{"Tag":{"$ref":"#/definitions/Tag"}},"required":["Tag"],"interactionText":"Anthem §Tag."},"arm":{"type":"struct","name":"Arm","description":"Arm gives a friendly entity +X/+X.","children":{"Amount":{"$ref":"#/definitions/SimpleIntValue"}},"required":["Amount"],"interactionText":"Arm §Amount."},"armor":{"type":"struct","name":"Armor","description":"Arm gives a friendly entity +X max health and health.","children":{"Amount":{"$ref":"#/definitions/SimpleIntValue"}},"required":["Amount"],"interactionText":"Armor §Amount."},"arrival":{"type":"struct","name":"Arrival","description":"When a friendly entity spawns activate Effects","children":{"Effects":{"$ref":"#/definitions/effects"}},"required":["Effects"],"interactionText":"Arrival: §Effects."},"battlecry":{"type":"struct","name":"Battlecry","description":"At the beginning of each combat activate Effects.","children":{"Effects":{"$ref":"#/definitions/effects"}},"required":["Effects"],"interactionText":"Battlecry: §Effects."},"bounce":{"type":"struct","name":"Bounce","description":"Return entities to your opponents hand.","children":{"Target":{"$ref":"#/definitions/CardMode"}},"required":["Target"],"interactionText":"Bounce §Target."},"burn":{"type":"struct","name":"Burn","description":"Deal X damage to the opposing HQ.","children":{"Amount":{"$ref":"#/definitions/SimpleIntValue"}},"required":["Amount"],"interactionText":"Burn §Amount."},"channel":{"type":"struct","name":"Channel","description":"When you play an action activate Effects.","children":{"Effects":{"$ref":"#/definitions/effects"}},"required":["Effects"],"interactionText":"Channel: §Effects."},"countPower":{"type":"struct","name":"Count Power","description":"Count your entities with more or equal to Power.","children":{"Power":{"$ref":"#/definitions/SimpleIntValue"}},"required":["Power"],"interactionText":"Count Power §Power."},"discardPay":{"type":"struct","name":"Discard Pay","description":"Pay Mana and discard a card to activate Effects.","children":{"ManaAmount":{"$ref":"#/definitions/SimpleIntValue"},"Effects":{"$ref":"#/definitions/effects"}},"required":["ManaAmount","Effects"],"interactionText":"Discard, Pay §ManaAmount: §Effects."},"discount":{"type":"struct","name":"Discount","description":"Reduce manacost of all cards of a type in your hand.","children":{"Amount":{"$ref":"#/definitions/SimpleIntValue"},"Type":{"$ref":"#/definitions/CardType"}},"required":["Amount"],"interactionText":"Discount [§Type] §Amount."},"dismantle":{"type":"struct","name":"Dismantle","description":"Sacrifice a friendly place to activate Effects.","children":{"Effects":{"$ref":"#/definitions/effects"}},"required":["Effects"],"interactionText":"Dismantle: §Effects."},"dissolve":{"type":"struct","name":"Dissolve","description":"Put cards from your dustpile to the voids to activate Effects.","children":{"VoidAmount":{"$ref":"#/definitions/SimpleIntValue"},"Effects":{"$ref":"#/definitions/effects"}},"required":["VoidAmount","Effects"],"interactionText":"Dissolve §VoidAmount: §Effects."},"drawAction":{"type":"struct","name":"Draw Action","description":"Draw an action from your deck.","children":{"Tag":{"$ref":"#/definitions/Tag"}},"interactionText":"Draw Action §Tag."},"drawEntity":{"type":"struct","name":"Draw Entity","description":"Draw an entity from your deck.","children":{"Tag":{"$ref":"#/definitions/Tag"}},"interactionText":"Draw Entity §Tag."},"drawPlace":{"type":"struct","name":"Draw Place","description":"Draw a place from your deck.","children":{"Tag":{"$ref":"#/definitions/Tag"}},"interactionText":"Draw Place §Tag."},"effect":{"type":"interface","name":"Effect","description":"Choose a Effect","children":{"Anthem":{"$ref":"#/definitions/anthem"},"Arm":{"$ref":"#/definitions/arm"},"Armor":{"$ref":"#/definitions/armor"},"Bounce":{"$ref":"#/definitions/bounce"},"Burn":{"$ref":"#/definitions/burn"},"CountPower":{"$ref":"#/definitions/countPower"},"Discount":{"$ref":"#/definitions/discount"},"DrawAction":{"$ref":"#/definitions/drawAction"},"DrawEntity":{"$ref":"#/definitions/drawEntity"},"DrawPlace":{"$ref":"#/definitions/drawPlace"},"Grow":{"$ref":"#/definitions/grow"},"Harm":{"$ref":"#/definitions/harm"},"Heal":{"$ref":"#/definitions/heal"},"Kill":{"$ref":"#/definitions/kill"},"Insight":{"$ref":"#/definitions/insight"},"Mill":{"$ref":"#/definitions/mill"},"Produce":{"$ref":"#/definitions/produce"},"Ravage":{"$ref":"#/definitions/ravage"},"Reassemble":{"$ref":"#/definitions/reassemble"},"RecoverAction":{"$ref":"#/definitions/recoverAction"},"RecoverEntity":{"$ref":"#/definitions/recoverEntity"},"RecoverPlace":{"$ref":"#/definitions/recoverPlace"},"Resurrect":{"$ref":"#/definitions/resurrect"},"Repair":{"$ref":"#/definitions/repair"},"Silence":{"$ref":"#/definitions/silence"},"Void":{"$ref":"#/definitions/void"},"Withdraw":{"$ref":"#/definitions/withdraw"}}},"effects":{"type":"array","name":"Effects","description":"Add some Effects","children":{"Effect":{"$ref":"#/definitions/effect"}},"max":3},"entity":{"type":"struct","name":"Entity","description":"Build a Entity","children":{"CardName":{"$ref":"#/definitions/CardName"},"CastingCost":{"$ref":"#/definitions/CastingCost"},"Class":{"$ref":"#/definitions/Class"},"Abilities":{"$ref":"#/definitions/abilities"},"Attack":{"$ref":"#/definitions/Attack"},"Health":{"$ref":"#/definitions/Health"},"FlavourText":{"$ref":"#/definitions/FlavourText"},"Tags":{"$ref":"#/definitions/Tags"},"Keywords":{"$ref":"#/definitions/Keywords"},"RulesTexts":{"$ref":"#/definitions/RulesTexts"}},"required":["CardName","CastingCost","Class","Abilities","Attack","Health","FlavourText","Tags","Keywords","RulesTexts"],"interactionText":"§CardName §CastingCost §Class §Abilities §Attack §Health §FlavourText §Tags §Keywords §RulesTexts"},"grow":{"type":"struct","name":"Grow","description":"Grow your HQ.","children":{"GrowthAmount":{"$ref":"#/definitions/SimpleIntValue"}},"required":["GrowthAmount"],"interactionText":"Grow §GrowthAmount."},"harm":{"type":"struct","name":"Harm","description":"Deal X damage to an opposing entity.","children":{"Amount":{"$ref":"#/definitions/SimpleIntValue"}},"required":["Amount"],"interactionText":"Harm §Amount."},"headquarter":{"type":"struct","name":"Headquarter","description":"Build a Headquarter","children":{"CardName":{"$ref":"#/definitions/CardName"},"Class":{"$ref":"#/definitions/Class"},"Delay":{"$ref":"#/definitions/Delay"},"Abilities":{"$ref":"#/definitions/abilities"},"Health":{"$ref":"#/definitions/Health"},"FlavourText":{"$ref":"#/definitions/FlavourText"},"Tags":{"$ref":"#/definitions/Tags"},"Keywords":{"$ref":"#/definitions/Keywords"},"RulesTexts":{"$ref":"#/definitions/RulesTexts"}},"required":["CardName","Class","Delay","Abilities","Health","FlavourText","Tags","Keywords","RulesTexts"],"interactionText":"§CardName §Class §Delay §Abilities §Health §Growth §StartingHandSize §Wisdom §FlavourText §Tags §Keywords §RulesTexts"},"heal":{"type":"struct","name":"Heal","description":"Restore a friendly entities health to full life.","children":{},"interactionText":"Heal"},"insight":{"type":"struct","name":"Insight","description":"Gain wisdom.","children":{"WisdomAmount":{"$ref":"#/definitions/SimpleIntValue"}},"required":["WisdomAmount"],"interactionText":"Insight §WisdomAmount."},"kill":{"type":"struct","name":"Kill","description":"Put an opposing entity from the field in the dustpile.","children":{},"interactionText":"Kill"},"mill":{"type":"struct","name":"Mill","description":"Put cards from a player deck in the dustpile.","children":{"Amount":{"$ref":"#/definitions/SimpleIntValue"},"Player":{"$ref":"#/definitions/PlayerMode"}},"required":["Amount"],"interactionText":"Mill [§Player] §Amount."},"onConstruction":{"type":"struct","name":"On Construction","description":"When a friendly place spawns activate Effects.","children":{"Effects":{"$ref":"#/definitions/effects"}},"required":["Effects"],"interactionText":"OnConstruction: §Effects."},"onDeath":{"type":"struct","name":"On Death","description":"When this dies activate Effects.","children":{"Effects":{"$ref":"#/definitions/effects"}},"required":["Effects"],"interactionText":"OnDeath: §Effects."},"onSpawn":{"type":"struct","name":"On Spawn","description":"Build a On Spawn","children":{"Effects":{"$ref":"#/definitions/effects"}},"required":["Effects"],"interactionText":"OnSpawn: §Effects."},"pay":{"type":"struct","name":"Pay","description":"Pay Mana to activate Effects.","children":{"ManaAmount":{"$ref":"#/definitions/SimpleIntValue"},"Effects":{"$ref":"#/definitions/effects"}},"required":["ManaAmount","Effects"],"interactionText":"Pay §ManaAmount: §Effects."},"periodic":{"type":"struct","name":"Periodic","description":"At the beginning of each tick activate Effects.","children":{"Effects":{"$ref":"#/definitions/effects"}},"required":["Effects"],"interactionText":"Periodic: §Effects."},"place":{"type":"struct","name":"Place","description":"Build a Place","children":{"CardName":{"$ref":"#/definitions/CardName"},"CastingCost":{"$ref":"#/definitions/CastingCost"},"Class":{"$ref":"#/definitions/Class"},"Abilities":{"$ref":"#/definitions/abilities"},"Health":{"$ref":"#/definitions/Health"},"FlavourText":{"$ref":"#/definitions/FlavourText"},"Tags":{"$ref":"#/definitions/Tags"},"Keywords":{"$ref":"#/definitions/Keywords"},"RulesTexts":{"$ref":"#/definitions/RulesTexts"}},"required":["CardName","CastingCost","Class","Abilities","Health","FlavourText","Tags","Keywords","RulesTexts"],"interactionText":"§CardName §CastingCost §Class §Abilities §Health §FlavourText §Tags §Keywords §RulesTexts"},"produce":{"type":"struct","name":"Produce","description":"Produce mana.","children":{"ManaAmount":{"$ref":"#/definitions/SimpleIntValue"}},"required":["ManaAmount"],"interactionText":"Produce §ManaAmount."},"ravage":{"type":"struct","name":"Ravage","description":"Deal X damage to an opposing place.","children":{"Amount":{"$ref":"#/definitions/SimpleIntValue"}},"required":["Amount"],"interactionText":"Ravage §Amount."},"reassemble":{"type":"struct","name":"Reassemble","description":"Return target Place from a dustpile to your field.","children":{},"interactionText":"Reassemle."},"recoverAction":{"type":"struct","name":"Recover Action","description":"Return an action from your dustpile to your hand.","children":{},"interactionText":"Recover Action."},"recoverEntity":{"type":"struct","name":"Recover Entity","description":"Return an entity from your dustpile to your hand.","children":{},"interactionText":"Recover Entity."},"recoverPlace":{"type":"struct","name":"Recover Place","description":"Return a place from your dustpile to your hand.","children":{},"interactionText":"Recover Place."},"regenerate":{"type":"struct","name":"Regenerate","description":"Restore health of this entity each turn.","children":{"Amount":{"$ref":"#/definitions/SimpleIntValue"}},"required":["Amount"],"interactionText":"Regenerate §Amount."},"repair":{"type":"struct","name":"Repair","description":"Restore lost health of a friendly place or HQ.","children":{"Amount":{"$ref":"#/definitions/SimpleIntValue"}},"required":["Amount"],"interactionText":"Repair §Amount."},"resurrect":{"type":"struct","name":"Resurrect","description":"Return target Entity from a dustpile to your field.","children":{},"interactionText":"Resurrect."},"silence":{"type":"struct","name":"Silence","description":"Target entity loses its abilities.","children":{"Player":{"$ref":"#/definitions/PlayerMode"}},"required":["Player"],"interactionText":"Silence §Player"},"tribute":{"type":"struct","name":"Tribute","description":"Sacrifice a friendly entity to activate Effects.","children":{"Effects":{"$ref":"#/definitions/effects"}},"required":["Effects"],"interactionText":"Tribute: §Effects."},"void":{"type":"struct","name":"Void","description":"Put opposing cards from the dustpile in the void.","children":{"Target":{"$ref":"#/definitions/CardMode"}},"required":["Target"],"interactionText":"Void §Target"},"withdraw":{"type":"struct","name":"Withdraw","description":"Return entities to your hand.","children":{"Target":{"$ref":"#/definitions/CardMode"}},"required":["Target"],"interactionText":"Withdraw §Target."}}} \ No newline at end of file +{"Card":{"$ref":"#/definitions/Card"},"definitions":{"Attack":{"type":"int","name":"Attack","max":32},"Card":{"type":"interface","name":"Card","description":"Choose a Card","children":{"Action":{"$ref":"#/definitions/action"},"Entity":{"$ref":"#/definitions/entity"},"Place":{"$ref":"#/definitions/place"},"Headquarter":{"$ref":"#/definitions/headquarter"}}},"CardMode":{"type":"enum","name":"Card Mode","enum":["ALL","OPPONENTSCHOICE","RANDOM","TARGET"]},"CardName":{"type":"string","name":"Card Name","max":32,"min":1},"CardType":{"type":"enum","name":"Card Type","enum":["ACTION","ENTITY","PLACE","HQ"]},"CastingCost":{"type":"int","name":"Casting Cost","max":32},"Class":{"type":"struct","name":"Class","description":"Build a Class","children":{"Nature":{"$ref":"#/definitions/Nature"},"Mysticism":{"$ref":"#/definitions/Mysticism"},"Technology":{"$ref":"#/definitions/Technology"},"Culture":{"$ref":"#/definitions/Culture"}},"required":["Nature","Mysticism","Technology","Culture"],"interactionText":"§Nature §Mysticism §Technology §Culture"},"Culture":{"type":"bool","name":"Culture"},"Delay":{"type":"int","name":"Delay","max":32},"FlavourText":{"type":"string","name":"Flavour Text","max":1000},"Health":{"type":"int","name":"Health","max":32},"Keyword":{"type":"string","name":"Keyword","max":10000},"Keywords":{"type":"array","name":"Keywords","description":"Add some Keywords","children":{"Keyword":{"$ref":"#/definitions/Keyword"}},"max":3,"min":1},"Mysticism":{"type":"bool","name":"Mysticism"},"Nature":{"type":"bool","name":"Nature"},"PlayerMode":{"type":"enum","name":"Player Mode","enum":["YOU","OPPONENT"]},"RulesText":{"type":"string","name":"Rules Text","max":1000},"RulesTexts":{"type":"array","name":"Rules Texts","description":"Add some Rules Texts","children":{"RulesText":{"$ref":"#/definitions/RulesText"}},"max":3},"SimpleIntValue":{"type":"int","name":"Simple Int Value","max":32},"Tag":{"type":"enum","name":"Tag","enum":["ANIMAL","BOT","DWARF","ENGINEER","EQUIPMENT","FARM","FIRE","HUMAN","KNIGHT","MAGIC","MILITANT","PRIMITIVE","RANGE","SPIRITUAL","TACTIC","TECHNOCRAT"]},"Tags":{"type":"array","name":"Tags","description":"Add some Tags","children":{"Tag":{"$ref":"#/definitions/Tag"}},"max":3,"min":1},"Technology":{"type":"bool","name":"Technology"},"abilities":{"type":"array","name":"Abilities","description":"Add some Abilities","children":{"Ability":{"$ref":"#/definitions/ability"}},"max":3},"ability":{"type":"interface","name":"Ability","description":"Choose a Ability","children":{"Arrival":{"$ref":"#/definitions/arrival"},"Battlecry":{"$ref":"#/definitions/battlecry"},"Channel":{"$ref":"#/definitions/channel"},"DiscardPay":{"$ref":"#/definitions/discardPay"},"Dismantle":{"$ref":"#/definitions/dismantle"},"Dissolve":{"$ref":"#/definitions/dissolve"},"Loot":{"$ref":"#/definitions/loot"},"OnConstruction":{"$ref":"#/definitions/onConstruction"},"OnDeath":{"$ref":"#/definitions/onDeath"},"OnSpawn":{"$ref":"#/definitions/onSpawn"},"Pay":{"$ref":"#/definitions/pay"},"Periodic":{"$ref":"#/definitions/periodic"},"Regenerate":{"$ref":"#/definitions/regenerate"},"Tribute":{"$ref":"#/definitions/tribute"}}},"action":{"type":"struct","name":"Action","description":"Build a Action","children":{"CardName":{"$ref":"#/definitions/CardName"},"CastingCost":{"$ref":"#/definitions/CastingCost"},"Class":{"$ref":"#/definitions/Class"},"Effects":{"$ref":"#/definitions/effects"},"FlavourText":{"$ref":"#/definitions/FlavourText"},"Tags":{"$ref":"#/definitions/Tags"},"Keywords":{"$ref":"#/definitions/Keywords"},"RulesTexts":{"$ref":"#/definitions/RulesTexts"}},"required":["CardName","CastingCost","Class","Effects","FlavourText","Tags","Keywords","RulesTexts"],"interactionText":"§CardName §CastingCost §Class §Effects §FlavourText §Tags §Keywords §RulesTexts"},"anthem":{"type":"struct","name":"Anthem","description":"Anthem gives all friendly entities with a certain tag +1/+1.","children":{"Tag":{"$ref":"#/definitions/Tag"}},"required":["Tag"],"interactionText":"Anthem §Tag."},"arm":{"type":"struct","name":"Arm","description":"Arm gives a friendly entity +X/+X.","children":{"Amount":{"$ref":"#/definitions/SimpleIntValue"}},"required":["Amount"],"interactionText":"Arm §Amount."},"armor":{"type":"struct","name":"Armor","description":"Arm gives a friendly entity +X max health and health.","children":{"Amount":{"$ref":"#/definitions/SimpleIntValue"}},"required":["Amount"],"interactionText":"Armor §Amount."},"arrival":{"type":"struct","name":"Arrival","description":"When a friendly entity spawns activate Effects","children":{"Effects":{"$ref":"#/definitions/effects"}},"required":["Effects"],"interactionText":"Arrival: §Effects."},"battlecry":{"type":"struct","name":"Battlecry","description":"At the beginning of each combat activate Effects.","children":{"Effects":{"$ref":"#/definitions/effects"}},"required":["Effects"],"interactionText":"Battlecry: §Effects."},"bounce":{"type":"struct","name":"Bounce","description":"Return entities to your opponents hand.","children":{"Target":{"$ref":"#/definitions/CardMode"}},"required":["Target"],"interactionText":"Bounce §Target."},"burn":{"type":"struct","name":"Burn","description":"Deal X damage to the opposing HQ.","children":{"Amount":{"$ref":"#/definitions/SimpleIntValue"}},"required":["Amount"],"interactionText":"Burn §Amount."},"channel":{"type":"struct","name":"Channel","description":"When you play an action activate Effects.","children":{"Effects":{"$ref":"#/definitions/effects"}},"required":["Effects"],"interactionText":"Channel: §Effects."},"countPower":{"type":"struct","name":"Count Power","description":"Count your entities with more or equal to Power.","children":{"Power":{"$ref":"#/definitions/SimpleIntValue"}},"required":["Power"],"interactionText":"Count Power §Power."},"discardPay":{"type":"struct","name":"Discard Pay","description":"Pay Mana and discard a card to activate Effects.","children":{"ManaAmount":{"$ref":"#/definitions/SimpleIntValue"},"Effects":{"$ref":"#/definitions/effects"}},"required":["ManaAmount","Effects"],"interactionText":"Discard, Pay §ManaAmount: §Effects."},"discount":{"type":"struct","name":"Discount","description":"Reduce manacost of all cards of a type in your hand.","children":{"Amount":{"$ref":"#/definitions/SimpleIntValue"},"Type":{"$ref":"#/definitions/CardType"}},"required":["Amount"],"interactionText":"Discount [§Type] §Amount."},"dismantle":{"type":"struct","name":"Dismantle","description":"Sacrifice a friendly place to activate Effects.","children":{"Effects":{"$ref":"#/definitions/effects"}},"required":["Effects"],"interactionText":"Dismantle: §Effects."},"dissolve":{"type":"struct","name":"Dissolve","description":"Put cards from your dustpile to the voids to activate Effects.","children":{"VoidAmount":{"$ref":"#/definitions/SimpleIntValue"},"Effects":{"$ref":"#/definitions/effects"}},"required":["VoidAmount","Effects"],"interactionText":"Dissolve §VoidAmount: §Effects."},"drawAction":{"type":"struct","name":"Draw Action","description":"Draw an action from your deck.","children":{"Tag":{"$ref":"#/definitions/Tag"}},"interactionText":"Draw Action §Tag."},"drawEntity":{"type":"struct","name":"Draw Entity","description":"Draw an entity from your deck.","children":{"Tag":{"$ref":"#/definitions/Tag"}},"interactionText":"Draw Entity §Tag."},"drawPlace":{"type":"struct","name":"Draw Place","description":"Draw a place from your deck.","children":{"Tag":{"$ref":"#/definitions/Tag"}},"interactionText":"Draw Place §Tag."},"effect":{"type":"interface","name":"Effect","description":"Choose a Effect","children":{"Anthem":{"$ref":"#/definitions/anthem"},"Arm":{"$ref":"#/definitions/arm"},"Armor":{"$ref":"#/definitions/armor"},"Bounce":{"$ref":"#/definitions/bounce"},"Burn":{"$ref":"#/definitions/burn"},"CountPower":{"$ref":"#/definitions/countPower"},"Discount":{"$ref":"#/definitions/discount"},"DrawAction":{"$ref":"#/definitions/drawAction"},"DrawEntity":{"$ref":"#/definitions/drawEntity"},"DrawPlace":{"$ref":"#/definitions/drawPlace"},"Grow":{"$ref":"#/definitions/grow"},"Harm":{"$ref":"#/definitions/harm"},"Heal":{"$ref":"#/definitions/heal"},"Kill":{"$ref":"#/definitions/kill"},"Insight":{"$ref":"#/definitions/insight"},"Mill":{"$ref":"#/definitions/mill"},"Produce":{"$ref":"#/definitions/produce"},"Ravage":{"$ref":"#/definitions/ravage"},"Reassemble":{"$ref":"#/definitions/reassemble"},"RecoverAction":{"$ref":"#/definitions/recoverAction"},"RecoverEntity":{"$ref":"#/definitions/recoverEntity"},"RecoverPlace":{"$ref":"#/definitions/recoverPlace"},"Resurrect":{"$ref":"#/definitions/resurrect"},"Repair":{"$ref":"#/definitions/repair"},"Silence":{"$ref":"#/definitions/silence"},"Void":{"$ref":"#/definitions/void"},"Withdraw":{"$ref":"#/definitions/withdraw"}}},"effects":{"type":"array","name":"Effects","description":"Add some Effects","children":{"Effect":{"$ref":"#/definitions/effect"}},"max":3},"entity":{"type":"struct","name":"Entity","description":"Build a Entity","children":{"CardName":{"$ref":"#/definitions/CardName"},"CastingCost":{"$ref":"#/definitions/CastingCost"},"Class":{"$ref":"#/definitions/Class"},"Abilities":{"$ref":"#/definitions/abilities"},"Attack":{"$ref":"#/definitions/Attack"},"Health":{"$ref":"#/definitions/Health"},"FlavourText":{"$ref":"#/definitions/FlavourText"},"Tags":{"$ref":"#/definitions/Tags"},"Keywords":{"$ref":"#/definitions/Keywords"},"RulesTexts":{"$ref":"#/definitions/RulesTexts"}},"required":["CardName","CastingCost","Class","Abilities","Attack","Health","FlavourText","Tags","Keywords","RulesTexts"],"interactionText":"§CardName §CastingCost §Class §Abilities §Attack §Health §FlavourText §Tags §Keywords §RulesTexts"},"grow":{"type":"struct","name":"Grow","description":"Grow your HQ.","children":{"GrowthAmount":{"$ref":"#/definitions/SimpleIntValue"}},"required":["GrowthAmount"],"interactionText":"Grow §GrowthAmount."},"harm":{"type":"struct","name":"Harm","description":"Deal X damage to an opposing entity.","children":{"Amount":{"$ref":"#/definitions/SimpleIntValue"}},"required":["Amount"],"interactionText":"Harm §Amount."},"headquarter":{"type":"struct","name":"Headquarter","description":"Build a Headquarter","children":{"CardName":{"$ref":"#/definitions/CardName"},"Class":{"$ref":"#/definitions/Class"},"Delay":{"$ref":"#/definitions/Delay"},"Abilities":{"$ref":"#/definitions/abilities"},"Health":{"$ref":"#/definitions/Health"},"FlavourText":{"$ref":"#/definitions/FlavourText"},"Tags":{"$ref":"#/definitions/Tags"},"Keywords":{"$ref":"#/definitions/Keywords"},"RulesTexts":{"$ref":"#/definitions/RulesTexts"}},"required":["CardName","Class","Delay","Abilities","Health","FlavourText","Tags","Keywords","RulesTexts"],"interactionText":"§CardName §Class §Delay §Abilities §Health §Growth §StartingHandSize §Wisdom §FlavourText §Tags §Keywords §RulesTexts"},"heal":{"type":"struct","name":"Heal","description":"Restore a friendly entities health to full life.","children":{},"interactionText":"Heal"},"insight":{"type":"struct","name":"Insight","description":"Gain wisdom.","children":{"WisdomAmount":{"$ref":"#/definitions/SimpleIntValue"}},"required":["WisdomAmount"],"interactionText":"Insight §WisdomAmount."},"kill":{"type":"struct","name":"Kill","description":"Put an opposing entity from the field in the dustpile.","children":{},"interactionText":"Kill"},"loot":{"type":"struct","name":"Loot","description":"When an opposing place is destroyed activate Effects.","children":{"Effects":{"$ref":"#/definitions/effects"}},"required":["Effects"],"interactionText":"Loot: §Effects."},"mill":{"type":"struct","name":"Mill","description":"Put cards from a player deck in the dustpile.","children":{"Amount":{"$ref":"#/definitions/SimpleIntValue"},"Player":{"$ref":"#/definitions/PlayerMode"}},"required":["Amount"],"interactionText":"Mill [§Player] §Amount."},"onConstruction":{"type":"struct","name":"On Construction","description":"When a friendly place spawns activate Effects.","children":{"Effects":{"$ref":"#/definitions/effects"}},"required":["Effects"],"interactionText":"OnConstruction: §Effects."},"onDeath":{"type":"struct","name":"On Death","description":"When this dies activate Effects.","children":{"Effects":{"$ref":"#/definitions/effects"}},"required":["Effects"],"interactionText":"OnDeath: §Effects."},"onSpawn":{"type":"struct","name":"On Spawn","description":"Build a On Spawn","children":{"Effects":{"$ref":"#/definitions/effects"}},"required":["Effects"],"interactionText":"OnSpawn: §Effects."},"pay":{"type":"struct","name":"Pay","description":"Pay Mana to activate Effects.","children":{"ManaAmount":{"$ref":"#/definitions/SimpleIntValue"},"Effects":{"$ref":"#/definitions/effects"}},"required":["ManaAmount","Effects"],"interactionText":"Pay §ManaAmount: §Effects."},"periodic":{"type":"struct","name":"Periodic","description":"At the beginning of each tick activate Effects.","children":{"Effects":{"$ref":"#/definitions/effects"}},"required":["Effects"],"interactionText":"Periodic: §Effects."},"place":{"type":"struct","name":"Place","description":"Build a Place","children":{"CardName":{"$ref":"#/definitions/CardName"},"CastingCost":{"$ref":"#/definitions/CastingCost"},"Class":{"$ref":"#/definitions/Class"},"Abilities":{"$ref":"#/definitions/abilities"},"Health":{"$ref":"#/definitions/Health"},"FlavourText":{"$ref":"#/definitions/FlavourText"},"Tags":{"$ref":"#/definitions/Tags"},"Keywords":{"$ref":"#/definitions/Keywords"},"RulesTexts":{"$ref":"#/definitions/RulesTexts"}},"required":["CardName","CastingCost","Class","Abilities","Health","FlavourText","Tags","Keywords","RulesTexts"],"interactionText":"§CardName §CastingCost §Class §Abilities §Health §FlavourText §Tags §Keywords §RulesTexts"},"produce":{"type":"struct","name":"Produce","description":"Produce mana.","children":{"ManaAmount":{"$ref":"#/definitions/SimpleIntValue"}},"required":["ManaAmount"],"interactionText":"Produce §ManaAmount."},"ravage":{"type":"struct","name":"Ravage","description":"Deal X damage to an opposing place.","children":{"Amount":{"$ref":"#/definitions/SimpleIntValue"}},"required":["Amount"],"interactionText":"Ravage §Amount."},"reassemble":{"type":"struct","name":"Reassemble","description":"Return target Place from a dustpile to your field.","children":{},"interactionText":"Reassemle."},"recoverAction":{"type":"struct","name":"Recover Action","description":"Return an action from your dustpile to your hand.","children":{},"interactionText":"Recover Action."},"recoverEntity":{"type":"struct","name":"Recover Entity","description":"Return an entity from your dustpile to your hand.","children":{},"interactionText":"Recover Entity."},"recoverPlace":{"type":"struct","name":"Recover Place","description":"Return a place from your dustpile to your hand.","children":{},"interactionText":"Recover Place."},"regenerate":{"type":"struct","name":"Regenerate","description":"Restore health of this entity each turn.","children":{"Amount":{"$ref":"#/definitions/SimpleIntValue"}},"required":["Amount"],"interactionText":"Regenerate §Amount."},"repair":{"type":"struct","name":"Repair","description":"Restore lost health of a friendly place or HQ.","children":{"Amount":{"$ref":"#/definitions/SimpleIntValue"}},"required":["Amount"],"interactionText":"Repair §Amount."},"resurrect":{"type":"struct","name":"Resurrect","description":"Return target Entity from a dustpile to your field.","children":{},"interactionText":"Resurrect."},"silence":{"type":"struct","name":"Silence","description":"Target entity loses its abilities.","children":{"Player":{"$ref":"#/definitions/PlayerMode"}},"required":["Player"],"interactionText":"Silence §Player"},"tribute":{"type":"struct","name":"Tribute","description":"Sacrifice a friendly entity to activate Effects.","children":{"Effects":{"$ref":"#/definitions/effects"}},"required":["Effects"],"interactionText":"Tribute: §Effects."},"void":{"type":"struct","name":"Void","description":"Put opposing cards from the dustpile in the void.","children":{"Target":{"$ref":"#/definitions/CardMode"}},"required":["Target"],"interactionText":"Void §Target"},"withdraw":{"type":"struct","name":"Withdraw","description":"Return entities to your hand.","children":{"Target":{"$ref":"#/definitions/CardMode"}},"required":["Target"],"interactionText":"Withdraw §Target."}}} \ No newline at end of file diff --git a/keywords/ability.go b/keywords/ability.go index f2e7ddd..b601056 100644 --- a/keywords/ability.go +++ b/keywords/ability.go @@ -36,6 +36,7 @@ type ability struct { DiscardPay *discardPay `json:",omitempty"` Dismantle *dismantle `json:",omitempty"` Dissolve *dissolve `json:",omitempty"` + Loot *loot `json:",omitempty"` OnConstruction *onConstruction `json:",omitempty"` OnDeath *onDeath `json:",omitempty"` OnSpawn *onSpawn `json:",omitempty"` diff --git a/keywords/loot.go b/keywords/loot.go new file mode 100644 index 0000000..70f3211 --- /dev/null +++ b/keywords/loot.go @@ -0,0 +1,25 @@ +package keywords + +import ( + "github.com/DecentralCardGame/cardobject/jsonschema" +) + +type loot struct { + Effects effects +} + +func (l loot) Validate() error { + return l.ValidateStruct() +} + +func (l loot) ValidateStruct() error { + return jsonschema.ValidateStruct(l) +} + +func (l loot) InteractionText() string { + return "Loot: §Effects." +} + +func (l loot) Description() string { + return "When an opposing place is destroyed activate Effects." +} diff --git a/keywords/loot_test.go b/keywords/loot_test.go new file mode 100644 index 0000000..3c1c6f6 --- /dev/null +++ b/keywords/loot_test.go @@ -0,0 +1,13 @@ +package keywords + +import ( + "testing" +) + +func TestLoot(t *testing.T) { + loot := loot{nil} + err := loot.Validate() + if err != nil { + t.Error(err) + } +}