Add spell objects
This commit is contained in:
parent
c303bfa37e
commit
e35cea92bf
37
spells.py
37
spells.py
@ -51,4 +51,39 @@ class Spell:
|
||||
return self.type == SPELL_TYPE_DEFENSE and CHANCE_HEAL_PARTLY > random.random() * 100
|
||||
|
||||
def chance_heal_fully_succes(self):
|
||||
return self.type == SPELL_TYPE_DEFENSE and CHANCE_HEAL_FULLY > random.random() * 100
|
||||
return self.type == SPELL_TYPE_DEFENSE and CHANCE_HEAL_FULLY > random.random() * 100
|
||||
|
||||
##
|
||||
## Spells
|
||||
##
|
||||
# Useless spells - These don't do anything useful in combat
|
||||
spell_lumos = Spell("Lumos", 100, 000, 100, "Creates a small light at the tip of your wand", SPELL_TYPE_USELESS)
|
||||
spell_nox = Spell("Nox", 100, 000, 100, "Counter spell of Lumos", SPELL_TYPE_USELESS)
|
||||
spell_rennervate = Spell("Rennervate", 100, 000, 100, "Revives your opponent if they are stunned", SPELL_TYPE_USELESS)
|
||||
spell_igni = Spell("Igno", 100, 000, 100, "Damages an enemy using fire. Except, this is a Witcher sign. It thus has no effect at all", SPELL_TYPE_USELESS)
|
||||
|
||||
# Defensive spell. Each cast from this category has a 5% chance of completely restoring health or 25% chance to heal 5% of maximum health
|
||||
spell_finite_incantatem = Spell("Finite Incantatem", 100, 000, 45, "Cancel all effects casted upon you. If you are stunned/silenced, there's a 10% chance this spell might work", SPELL_TYPE_DEFENSE)
|
||||
spell_impendimenta = Spell("Impendimenta", 100, 000, 60, "Slows your opponent. EFFECT: Decrease opponent's spell speed by 33% in their next offensive move", SPELL_TYPE_DEFENSE)
|
||||
spell_lumos_solem = Spell("Lumos Solem", 100, 000, 60, "Blinds your opponent. EFFECT: Decrease opponent's spell damage by 33% in their next offensive move", SPELL_TYPE_DEFENSE)
|
||||
spell_protego = Spell("Protego", 100, 000, 95, "Create a shield that blocks most attacks", SPELL_TYPE_DEFENSE)
|
||||
|
||||
# Common combat spells. High chance of succes, deals some damage
|
||||
spell_reducto = Spell("Reduto", 75, 150, 75, "Blast an object near your opponent")
|
||||
spell_rictusempra = Spell("Rictusempra", 85, 90, 90, "Causes your opponent to curl up in laughter, making them tired")
|
||||
spell_stupefy = Spell("Stupefy", 95, 75, 95, "Knock over your opponent")
|
||||
|
||||
# Powerful combat spells. Medium chance of succes, deals more damage or stuns opponents
|
||||
spelll_bombarda = Spell("Bombarda", 50, 180, 65, "Creates an explosion near your opponent", SPELL_TYPE_POWERFUL)
|
||||
spell_confringo = Spell("Confringo", 50, 200, 55, "Creates an explosion directly at your opponent", SPELL_TYPE_POWERFUL)
|
||||
spell_mimblewimble = Spell("Mimblewimble", 50, -1, 45, "Ties a knot in your opponents tongue, causing them to be unable to cast a spell for 1 move", SPELL_TYPE_POWERFUL)
|
||||
spell_sectusempra = Spell("Sectusempra", 90, 400, 40, "Slices your opponent", SPELL_TYPE_POWERFUL)
|
||||
spell_silencio = Spell("Silencio", 35, -3, 20, "Silences your opponent, causing them unable to cast spells for 3 moves", SPELL_TYPE_POWERFUL)
|
||||
|
||||
# Unforgivable spells. Very low chance of success, instantly kills or deals alot of damage/stun amount
|
||||
spell_avada_kedavra = Spell("Avada Kedavra", 100, 9999, 2, "Instantly end your opponent", SPELL_TYPE_UNFORGIVABLE)
|
||||
spell_crucio = Spell("Crucio", 100, 500, 5, "Cause excruciating pain to your opponent, causing alot of damage and making them unable to cast spells for 5 moves", SPELL_TYPE_UNFORGIVABLE)
|
||||
spell_imperio = Spell("Imperio", 100, -1, 3, "Muddle with your opponent's mind, convincing them to stop casting spells for 10 moves", SPELL_TYPE_UNFORGIVABLE)
|
||||
|
||||
# spell_none, used as a fallback if an invalid spell was cast ('no object'.method/attribute)
|
||||
spell_none = Spell(__INVALID_SPELL, 0, 0, 0, "(internal) invalid spell", SPELL_TYPE_USELESS)
|
Loading…
x
Reference in New Issue
Block a user