Exemple #1
0
        public void UpdateActiveEffect()
        {
            activeEffectMod = new Effect();   activeEffectMod.SetAsModifier();
            activeEffectMul = new Effect();   activeEffectMul.SetAsMultiplier();

            for (int i = 0; i < allEffectList.Count; i++)
            {
                activeEffectMod.stun |= allEffectList[i].stun;

                if (!allEffectList[i].IsMultiplier())
                {
                    activeEffectMod.stats.hp += allEffectList[i].stats.hp;
                    activeEffectMod.stats.sh += allEffectList[i].stats.sh;

                    activeEffectMod.stats.hpRate += allEffectList[i].stats.hpRate * DamageTable.GetModifier(GetArmorType(), allEffectList[i].stats.damageType);
                    activeEffectMod.stats.shRate += allEffectList[i].stats.shRate;

                    activeEffectMod.stats.speed += allEffectList[i].stats.speed;

                    activeEffectMod.stats.damageMin   += allEffectList[i].stats.damageMin;
                    activeEffectMod.stats.damageMax   += allEffectList[i].stats.damageMax;
                    activeEffectMod.stats.attackRange += allEffectList[i].stats.attackRange;
                    activeEffectMod.stats.aoeRange    += allEffectList[i].stats.aoeRange;
                    activeEffectMod.stats.cooldown    += allEffectList[i].stats.cooldown;

                    activeEffectMod.stats.hit            += allEffectList[i].stats.hit;
                    activeEffectMod.stats.dodge          += allEffectList[i].stats.dodge;
                    activeEffectMod.stats.critChance     += allEffectList[i].stats.critChance;
                    activeEffectMod.stats.critMultiplier += allEffectList[i].stats.critMultiplier;

                    activeEffectMod.stats.dmgReduc  += allEffectList[i].stats.dmgReduc;
                    activeEffectMod.stats.critReduc += allEffectList[i].stats.critReduc;

                    activeEffectMod.stats.effectOnHitChance += allEffectList[i].stats.effectOnHitChance;

                    for (int n = 0; n < activeEffectMod.stats.rscGain.Count; n++)
                    {
                        activeEffectMod.stats.rscGain[n] += allEffectList[i].stats.rscGain[n];
                    }
                }
                else
                {
                    activeEffectMul.stats.hp     *= allEffectList[i].stats.hp;
                    activeEffectMul.stats.sh     *= allEffectList[i].stats.sh;
                    activeEffectMul.stats.hpRate *= allEffectList[i].stats.hpRate;
                    activeEffectMul.stats.shRate *= allEffectList[i].stats.shRate;

                    activeEffectMul.stats.speed *= allEffectList[i].stats.speed;

                    activeEffectMul.stats.damageMin   *= allEffectList[i].stats.damageMin;
                    activeEffectMul.stats.damageMax   *= allEffectList[i].stats.damageMax;
                    activeEffectMul.stats.attackRange *= allEffectList[i].stats.attackRange;
                    activeEffectMul.stats.aoeRange    *= allEffectList[i].stats.aoeRange;
                    activeEffectMul.stats.cooldown    *= allEffectList[i].stats.cooldown;

                    activeEffectMul.stats.hit            *= allEffectList[i].stats.hit;
                    activeEffectMul.stats.dodge          *= allEffectList[i].stats.dodge;
                    activeEffectMul.stats.critChance     *= allEffectList[i].stats.critChance;
                    activeEffectMul.stats.critMultiplier *= allEffectList[i].stats.critMultiplier;

                    activeEffectMul.stats.dmgReduc  *= allEffectList[i].stats.dmgReduc;
                    activeEffectMul.stats.critReduc *= allEffectList[i].stats.critReduc;

                    activeEffectMul.stats.effectOnHitChance *= allEffectList[i].stats.effectOnHitChance;

                    for (int n = 0; n < activeEffectMul.stats.rscGain.Count; n++)
                    {
                        activeEffectMul.stats.rscGain[n] *= allEffectList[i].stats.rscGain[n];
                    }
                }
            }
        }
Exemple #2
0
 public void ClearAllEffect()                    //called when destroyed
 {
     activeEffectMod = new Effect();   activeEffectMod.SetAsModifier();
     activeEffectMul = new Effect();   activeEffectMul.SetAsMultiplier();
     allEffectList   = new List <Effect>();
 }