예제 #1
0
#!/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)
예제 #2
0
#!/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)
예제 #3
0
#!/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)
예제 #4
0
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)
예제 #5
0
#!/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)
예제 #6
0
#!/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)
예제 #7
0
#!/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)
예제 #8
0
#!/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)
예제 #9
0
#!/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)
예제 #10
0
#!/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)
예제 #11
0
#!/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)