Ejemplo n.º 1
0
 public Boolean HasAbility(EMonsterAbilityType p_type)
 {
     foreach (MonsterAbilityBase monsterAbilityBase in m_abilities)
     {
         if (monsterAbilityBase.AbilityType == p_type)
         {
             return(true);
         }
     }
     return(false);
 }
Ejemplo n.º 2
0
 internal MonsterAbilityBase GetAbility(EMonsterAbilityType p_type)
 {
     foreach (MonsterAbilityBase monsterAbilityBase in m_abilities)
     {
         if (monsterAbilityBase.AbilityType == p_type)
         {
             return(monsterAbilityBase);
         }
     }
     return(null);
 }
Ejemplo n.º 3
0
 public MonsterAbilityMartyr(EMonsterAbilityType abilityType, Single p_magicPower) : base(abilityType)
 {
     m_magicPower     = p_magicPower;
     m_executionPhase = EExecutionPhase.MONSTER_DIES;
 }
Ejemplo n.º 4
0
 public MonsterAbilityBase(EMonsterAbilityType p_type)
 {
     m_staticData = StaticDataHandler.GetStaticData <MonsterAbilityStaticData>(EDataType.MONSTER_ABILITIES, (Int32)p_type);
     m_type       = p_type;
 }
Ejemplo n.º 5
0
        public static MonsterAbilityBase CreateMonsterAbility(EMonsterAbilityType p_type, Single p_magicPower)
        {
            switch (p_type)
            {
            case EMonsterAbilityType.REGENERATION:
                return(new MonsterAbilityRegeneration());

            case EMonsterAbilityType.PAIN_REFLECTION:
                return(new MonsterAbilityPainReflection());

            case EMonsterAbilityType.EXPLOSIVE:
                return(new MonsterAbilityExplosive());

            case EMonsterAbilityType.RETALIATION:
                return(new MonsterAbilityRetaliation());

            case EMonsterAbilityType.ENRAGED:
                return(new MonsterAbilityEnraged());

            case EMonsterAbilityType.VINDICTIVE:
                return(new MonsterAbilityVindictive());

            case EMonsterAbilityType.SWEEPING_ATTACK:
                return(new MonsterAbilitySweepingAttack());

            case EMonsterAbilityType.RELENTLESS:
                return(new MonsterAbilityRelentless());

            case EMonsterAbilityType.STUNNING_STRIKES:
                return(new MonsterAbilityStunningStrikes());

            case EMonsterAbilityType.WEAKENING_STRIKES:
                return(new MonsterAbilityWeakening());

            case EMonsterAbilityType.CURSING_STRIKES:
                return(new MonsterAbilityCursing());

            case EMonsterAbilityType.CONFUSING_STRIKES:
                return(new MonsterAbilityConfusingStrikes());

            case EMonsterAbilityType.POISONING_STRIKES:
                return(new MonsterAbilityPoisoning());

            case EMonsterAbilityType.LARGE:
                return(new MonsterAbilityLarge());

            case EMonsterAbilityType.MANA_LEECH:
                return(new MonsterAbilityManaLeech());

            case EMonsterAbilityType.FOCUSED:
                return(new MonsterAbilityFocused());

            case EMonsterAbilityType.BURNING:
                return(new MonsterAbilityBurning());

            case EMonsterAbilityType.UNDEAD:
                return(new MonsterAbilityUndead());

            case EMonsterAbilityType.DEMONIC_LINEAGE:
                return(new MonsterAbilityDemonicLineage());

            case EMonsterAbilityType.VULNERABILITY_LIGHT:
                return(new MonsterAbilityVulnerability(EMonsterAbilityType.VULNERABILITY_LIGHT, EDamageType.LIGHT));

            case EMonsterAbilityType.VULNERABILITY_AIR:
                return(new MonsterAbilityVulnerability(EMonsterAbilityType.VULNERABILITY_AIR, EDamageType.AIR));

            case EMonsterAbilityType.VULNERABILITY_WATER:
                return(new MonsterAbilityVulnerability(EMonsterAbilityType.VULNERABILITY_WATER, EDamageType.WATER));

            case EMonsterAbilityType.VULNERABILITY_EARTH:
                return(new MonsterAbilityVulnerability(EMonsterAbilityType.VULNERABILITY_EARTH, EDamageType.EARTH));

            case EMonsterAbilityType.VULNERABILITY_FIRE:
                return(new MonsterAbilityVulnerability(EMonsterAbilityType.VULNERABILITY_FIRE, EDamageType.FIRE));

            case EMonsterAbilityType.VULNERABILITY_DARKNESS:
                return(new MonsterAbilityVulnerability(EMonsterAbilityType.VULNERABILITY_DARKNESS, EDamageType.DARK));

            case EMonsterAbilityType.CURLING:
                return(new MonsterAbilityCurling());

            case EMonsterAbilityType.PUSH:
                return(new MonsterAbilityPush());

            case EMonsterAbilityType.BOSS:
                return(new MonsterAbilityBoss());

            case EMonsterAbilityType.SHADOW_CLOAK:
                return(new MonsterAbilityShadowCloak());

            case EMonsterAbilityType.VANISH:
                return(new MonsterAbilityVanish());

            case EMonsterAbilityType.STATIC_OBJECT:
                return(new MonsterAbilityStaticObject());

            case EMonsterAbilityType.SPIRIT_BOUND:
                return(new MonsterAbilitySpiritBound());

            case EMonsterAbilityType.MARTYR:
                return(new MonsterAbilityMartyr(EMonsterAbilityType.MARTYR, p_magicPower));

            case EMonsterAbilityType.PIERCING_STRIKES:
                return(new MonsterAbilityPiercingStrikes());

            case EMonsterAbilityType.UNSTOPPABLE_STRIKES:
                return(new MonsterAbilityUnstoppableStrikes());

            case EMonsterAbilityType.SPEED_OF_LIGHT:
                return(new MonsterAbilitySpeedOfLight());

            default:
                return(null);
            }
        }
 public MonsterAbilityVulnerability(EMonsterAbilityType abilityType, EDamageType damageType) : base(abilityType)
 {
     m_damageType     = damageType;
     m_executionPhase = EExecutionPhase.ON_CHARACTER_ATTACKS_MONSTER_BEFORE_DAMAGE_REDUCTION;
 }