#Maximum Levenshtein distance. Eg if a user casts 'Pritrgo' instead of 'Protego', distance would be 2 and Protego would still be cast if MAX_LEVENSHTEIN_DISTANCE is at least 2
succes_rate(int)Howmuchchanceforthespelltobesuccesfullycast.Ifitfails,spellwon't be cast (thus spells with a succes_rate of 0 would never be executed, and 100=always succes)
# 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",94,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",94,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,80,"Create a shield that blocks most attacks",SPELL_TYPE_DEFENSE)
spell_bombarda=Spell("Bombarda",50,180,75,"Creates an explosion near your opponent",SPELL_TYPE_POWERFUL)
spell_confringo=Spell("Confringo",50,200,70,"Creates an explosion directly at your opponent",SPELL_TYPE_POWERFUL)
spell_mimblewimble=Spell("Mimblewimble",50,-1,70,"Ties a knot in your opponents tongue, causing them to be unable to cast a spell for 1 (more) move",SPELL_TYPE_POWERFUL)
spell_sectumsempra=Spell("Sectumsempra",90,400,35,"Slices your opponent",SPELL_TYPE_POWERFUL)
spell_silencio=Spell("Silencio",35,-3,55,"Silences your opponent, causing them unable to cast spells for 3 moves. <!>Only works if opponent is not stunned yet",SPELL_TYPE_POWERFUL)
spell_avada_kedavra=Spell("Avada Kedavra",999,999,2,"Instantly end your opponent",SPELL_TYPE_UNFORGIVABLE)
spell_crucio=Spell("Crucio",999,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",999,-1,3,"Muddle with your opponent's mind, convincing them to stop casting spells for 10 moves",SPELL_TYPE_UNFORGIVABLE)
deffind_spell_by_name(input:str):# Returns a list with: [spell_object, levenshtein_distance]. If distance is greater than 0 (typos were made), damage goes down