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)
 {
 }
Exemple #5
0
        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);
            }
        }