#!/user/bin/env python from cardList import addNode # Simple variables from classes.NodeFunction import NodeFunction NAME = "Scrambler Trap" DESC = "When this Node dies, your opponent discards two cards at random." ENERGY = -1 # What happens when it's sacrificed/killed async def death_func(ply, enemy, data, affected_player): await enemy.randomDiscard() await enemy.randomDiscard() return FUNC_LIST = [NodeFunction(func=death_func, trigger_type="LTB")] addNode(NAME, DESC, ENERGY, FUNC_LIST)
#!/user/bin/env python from cardList import addNode import mechanics # Simple variables from classes.NodeFunction import NodeFunction NAME = "Swarmer" DESC = "At the start of your turn, deal 1 damage to your opponent for each Swarmer you control." ENERGY = -3 # What happens when you play it (at the start of your turn) async def turn_func(ply, enemy, data, affected_player): if affected_player == "self": await mechanics.damage(enemy, ply.nodes.count('Swarmer')) else: return False FUNC_LIST = [NodeFunction(func=turn_func, trigger_type="TURN_START")] addNode(NAME, DESC, ENERGY, FUNC_LIST)
#!/user/bin/env python from cardList import addNode import mechanics # Simple variables from classes.NodeFunction import NodeFunction NAME = "Dealer" DESC = "Whenever a friendly Node is destroyed, if it was a Drugged Node, spawn another one." ENERGY = -1 # What happens when the TRIGGER is triggered async def trigger_func(ply, enemy, data, affectedPlayer): if affectedPlayer == "self" and data.name == "Drugged": await ply.addNode('Drugged') else: return False FUNC_LIST = [NodeFunction(func=trigger_func, trigger_type="SAC")] addNode(NAME, DESC, ENERGY, FUNC_LIST)
from cardList import addNode # Simple variables from classes.NodeFunction import NodeFunction NAME = "Drugged" DESC = "When this is spawned, draw a card. When it's destroyed, lose 2 energy and discard a random card." ENERGY = 4 # Abilities that only happens when the Node is spawned async def play_func(ply, enemy, data, affected_player): await ply.drawCard() return # What happens when it's sacrificed/killed async def death_func(ply, enemy, data, affected_player): ply.energy -= 2 await ply.randomDiscard() return FUNC_LIST = [ NodeFunction(func=death_func, trigger_type="LTB"), NodeFunction(func=play_func, trigger_type="ETB") ] addNode(NAME, DESC, ENERGY, FUNC_LIST)
#!/user/bin/env python from cardList import addNode import mechanics # Simple variables from classes.NodeFunction import NodeFunction NAME = "Blood" DESC = "Whenever you damage your opponent, heal that much lifeforce." ENERGY = -3 # What happens when the TRIGGER is triggered async def damage_func(ply, enemy, dataPassed, affectedPlayer): # dataPassed is damage dealt if affectedPlayer == "enemy": await mechanics.heal(ply, dataPassed) else: return False FUNC_LIST = [ NodeFunction( func=damage_func, trigger_type="DAMAGE" ) ] addNode(NAME, DESC, ENERGY, FUNC_LIST)
#!/user/bin/env python from cardList import addNode import mechanics # Simple variables from classes.NodeFunction import NodeFunction NAME = "Electricity" DESC = "At the start of your turn, deal 2 damage to your opponent." ENERGY = 2 # What happens when you play it (at the start of your turn) async def damage_func(ply, enemy, data, affected_player): if affected_player == "self": await mechanics.damage(enemy, 2) else: return False FUNC_LIST = [ NodeFunction( func=damage_func, trigger_type="TURN_START" ) ] addNode(NAME, DESC, ENERGY, FUNC_LIST)
#!/user/bin/env python from cardList import addNode import mechanics # Simple variables from classes.NodeFunction import NodeFunction NAME = "Madness" DESC = "Whenever your opponent discards a card, draw a card." ENERGY = -1 # What happens when the TRIGGER is triggered async def trigger_func(ply, enemy, discarded, affectedPlayer): if affectedPlayer == "enemy": await ply.drawCard() else: return False FUNC_LIST = [ NodeFunction( func=trigger_func, trigger_type="DISCARD" ) ] addNode(NAME, DESC, ENERGY, FUNC_LIST)
#!/user/bin/env python from cardList import addNode import mechanics # Simple variables from classes.NodeFunction import NodeFunction NAME = "Nostalgia" DESC = "Whenever you play a card, you heal for 1." ENERGY = -1 async def trigger_func(ply, enemy, data, affectedPlayer): if affectedPlayer == "self": await mechanics.heal(ply, 1) else: return False FUNC_LIST = [NodeFunction(func=trigger_func, trigger_type="PLAYED_CARD")] addNode(NAME, DESC, ENERGY, FUNC_LIST)
#!/user/bin/env python from cardList import addNode import mechanics # Simple variables from classes.NodeFunction import NodeFunction NAME = "Rapid Fire" DESC = "Whenever you play a card that doesn't spawn a Node, you can spawn another Node this turn." ENERGY = -5 async def trigger_func(ply, enemy, data, affectedPlayer): if affectedPlayer == "self" and not mechanics.cardList[data.lower()].cardtype == "NodeGen": ply.playedNode = False # don't need to check for nodegen cause it'll just overwrite this anyway... better than redoing data arg else: return False FUNC_LIST = [ NodeFunction( func=trigger_func, trigger_type="PLAYED_CARD" ) ] addNode(NAME, DESC, ENERGY, FUNC_LIST)
#!/user/bin/env python from cardList import addNode import mechanics # Simple variables from classes.NodeFunction import NodeFunction NAME = "Supplies" DESC = "When destroyed, gain 5 lifeforce." ENERGY = 0 # What happens when it's sacrificed/killed async def death_func(ply, enemy, data, affected_player): await mechanics.heal(ply, 5) return FUNC_LIST = [ NodeFunction( func=death_func, trigger_type="LTB" ) ] addNode(NAME, DESC, ENERGY, FUNC_LIST)
#!/user/bin/env python from cardList import addNode import mechanics # Simple variables from classes.NodeFunction import NodeFunction NAME = "Defiance" DESC = "Whenever your opponent spawns a Node, deal 3 damage to them." ENERGY = -1 # What happens when the TRIGGER is triggered async def trigger_func(ply, enemy, data, affectedPlayer): if affectedPlayer == "enemy": await mechanics.damage(enemy, 3) else: return False FUNC_LIST = [NodeFunction(func=trigger_func, trigger_type="NODESPAWN")] addNode(NAME, DESC, ENERGY, FUNC_LIST)