public MonsterSpell(EMonsterSpell p_type, String p_effectAnimationClip, Int32 p_castProbability) { m_staticData = StaticDataHandler.GetStaticData <MonsterSpellStaticData>(EDataType.MONSTER_SPELLS, (Int32)p_type); EffectAnimationClip = p_effectAnimationClip; m_monsterMagicPower = 1f; m_criticalDamage = 1f; m_castProbability = p_castProbability; }
public override Boolean CastSpell(MonsterSpell p_spell) { if (CastSpellErebos(p_spell)) { m_owner.CombatHandler.CastedSpell = p_spell; m_owner.CombatHandler.CastSpell = true; if (p_spell.TargetType == ETargetType.PARTY) { m_owner.DivideAttacksToPartyCharacters = true; } m_owner.BuffHandler.DoOnCastSpellEffects(); m_owner.CombatHandler.DoAttack(); m_lastCastedSpell = p_spell.SpellType; m_state = EErebosState.SPELLCASTING; return(true); } return(false); }
public override void Load(SaveGameData p_data) { m_firstFightRound = p_data.Get <Boolean>("FirstRound", true); m_lastCastedSpell = p_data.Get <EMonsterSpell>("LastCastedSpell", m_lastCastedSpell); m_state = p_data.Get <EErebosState>("State", m_state); }
public MonsterSpellCageBase(EMonsterSpell p_spell, String p_effectAnimationClip, Int32 p_castProbability) : base(p_spell, p_effectAnimationClip, p_castProbability) { }
public static MonsterSpell CreateMonsterSpell(EMonsterSpell p_spellType, String p_effectAnimationClip, Int32 p_castProbability) { switch (p_spellType) { case EMonsterSpell.FIREBALL: return(new MonsterSpellFireBall(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.FIREBOLT: return(new MonsterSpellFireBolt(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.BATTLE_SPIRIT: return(new MonsterSpellBattleSpirit(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.ICE_SHARDS: return(new MonsterSpellIceShards(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.DEEP_FREEZE: return(new MonsterSpellDeepFreeze(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.LIQUID_MEMBRANE: return(new MonsterSpellLiquidMembrane(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.ICE_STORM: return(new MonsterSpellIceStorm(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.CHAIN_LIGHTNING: return(new MonsterSpellChainLightning(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.LIGHTNING_BOLT: return(new MonsterSpellLightningBolt(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.PETRIFACTION: return(new MonsterSpellPetrification(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.POISON_SPIT: return(new MonsterSpellPoisonSpit(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.REGROWTH: return(new MonsterSpellRegrowth(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.STONE_SKIN: return(new MonsterSpellStoneSkin(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.GLARING_LIGHT: return(new MonsterSpellGlaringLight(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.PURIFY: return(new MonsterSpellPurify(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.CONFUSION: return(new MonsterSpellConfusion(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.AGONIZING_PURGE: return(new MonsterSpellAgonizingPurge(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.TORPOR: return(new MonsterSpellTorpor(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.OVERWHELMING_ASSAULT: return(new MonsterSpellOverwhelmingAssault(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.DARK_NOVA: return(new MonsterSpellDarkNova(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.DARK_RESTORATION: return(new MonsterSpellDarkRestoration(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.WITHERING_BREATH: return(new MonsterSpellWitheringBreath(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.CRYSTAL_SHARDS: return(new MonsterSpellCrystalShards(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.CRYSTAL_SHELL: return(new MonsterSpellCrystalShell(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.CRYSTAL_CAGE: return(new MonsterSpellCrystalCage(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.EXPLOSIVE_CRYSTAL_CAGE: return(new MonsterSpellExplosiveCrystalCage(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.BLINK: return(new MonsterSpellBlink(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.BACKSTAB: return(new MonsterSpellBackstab(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.SWOOP: return(new MonsterSpellSwoop(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.SHADOW_BOLT: return(new MonsterSpellShadowBolt(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.CRUSH: return(new MonsterSpellCrush(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.CELESTIAL_ARMOUR: return(new MonsterSpellCelestialArmour(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.HOUR_OF_JUSTICE: return(new MonsterSpellHourOfJustice(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.SUN_RAY: return(new MonsterSpellSunRay(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.MASS_HEAL: return(new MonsterSpellMassHeal(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.FLICKERING_LIGHT: return(new MonsterSpellFlickeringLight(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.FLICKER: return(new MonsterSpellFlicker(p_effectAnimationClip, p_castProbability)); case EMonsterSpell.PACIFICATION: return(new MonsterSpellPacification(p_effectAnimationClip, p_castProbability)); default: throw new NotImplementedException("This Monster Spell is not implemented " + p_spellType); } }