示例#1
0
        private static void SetBuffValue(BuffMethodTypes type, ref OShort param, int value)
        {
            switch (type)
            {
            case BuffMethodTypes.Add:
                param = (OShort)((int)param + value);
                break;

            case BuffMethodTypes.Highest:
                if ((int)param >= value)
                {
                    break;
                }
                param = (OShort)value;
                break;

            case BuffMethodTypes.Lowest:
                if ((int)param <= value)
                {
                    break;
                }
                param = (OShort)value;
                break;
            }
        }
示例#2
0
 private void InternalBuffSkill(BuffEffect effect, BuffTypes buffType, SkillParamCalcTypes calcType, BaseStatus status)
 {
     for (int index = 0; index < effect.targets.Count; ++index)
     {
         BuffEffect.BuffTarget target = effect.targets[index];
         if (target != null && target.buffType == buffType && target.calcType == calcType)
         {
             BuffMethodTypes buffMethodType = this.GetBuffMethodType(target.buffType, calcType);
             ParamTypes      paramType      = target.paramType;
             int             num            = (int)target.value;
             effect.SetBuffValues(paramType, buffMethodType, ref status, num);
         }
     }
 }
示例#3
0
 public void CalcBuffStatus(ref BaseStatus status, BuffTypes buffType, SkillParamCalcTypes calcType)
 {
     for (int index = 0; index < this.targets.Count; ++index)
     {
         BuffEffect.BuffTarget target = this.targets[index];
         if (target.buffType == buffType && target.calcType == calcType)
         {
             BuffMethodTypes buffMethodType = this.GetBuffMethodType(target.buffType, calcType);
             ParamTypes      paramType      = target.paramType;
             int             num            = (int)target.value;
             this.SetBuffValues(paramType, buffMethodType, ref status, num);
         }
     }
 }
示例#4
0
        public static void SetBuffValues(ParamTypes param_type, BuffMethodTypes method_type, ref BaseStatus status, int value)
        {
            switch (param_type)
            {
            case ParamTypes.Hp:
                BuffEffect.SetBuffValue(method_type, ref status.param.values_hp, value);
                break;

            case ParamTypes.HpMax:
                BuffEffect.SetBuffValue(method_type, ref status.param.values_hp, value);
                break;

            case ParamTypes.Mp:
                BuffEffect.SetBuffValue(method_type, ref status.param.values[0], value);
                break;

            case ParamTypes.MpIni:
                BuffEffect.SetBuffValue(method_type, ref status.param.values[1], value);
                break;

            case ParamTypes.Atk:
                BuffEffect.SetBuffValue(method_type, ref status.param.values[2], value);
                break;

            case ParamTypes.Def:
                BuffEffect.SetBuffValue(method_type, ref status.param.values[3], value);
                break;

            case ParamTypes.Mag:
                BuffEffect.SetBuffValue(method_type, ref status.param.values[4], value);
                break;

            case ParamTypes.Mnd:
                BuffEffect.SetBuffValue(method_type, ref status.param.values[5], value);
                break;

            case ParamTypes.Rec:
                BuffEffect.SetBuffValue(method_type, ref status.param.values[6], value);
                break;

            case ParamTypes.Dex:
                BuffEffect.SetBuffValue(method_type, ref status.param.values[7], value);
                break;

            case ParamTypes.Spd:
                BuffEffect.SetBuffValue(method_type, ref status.param.values[8], value);
                break;

            case ParamTypes.Cri:
                BuffEffect.SetBuffValue(method_type, ref status.param.values[9], value);
                break;

            case ParamTypes.Luk:
                BuffEffect.SetBuffValue(method_type, ref status.param.values[10], value);
                break;

            case ParamTypes.Mov:
                BuffEffect.SetBuffValue(method_type, ref status.param.values[11], value);
                break;

            case ParamTypes.Jmp:
                BuffEffect.SetBuffValue(method_type, ref status.param.values[12], value);
                break;

            case ParamTypes.EffectRange:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[0], value);
                break;

            case ParamTypes.EffectScope:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[1], value);
                break;

            case ParamTypes.EffectHeight:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[2], value);
                break;

            case ParamTypes.Assist_Fire:
                BuffEffect.SetBuffValue(method_type, ref status.element_assist.values[1], value);
                break;

            case ParamTypes.Assist_Water:
                BuffEffect.SetBuffValue(method_type, ref status.element_assist.values[2], value);
                break;

            case ParamTypes.Assist_Wind:
                BuffEffect.SetBuffValue(method_type, ref status.element_assist.values[3], value);
                break;

            case ParamTypes.Assist_Thunder:
                BuffEffect.SetBuffValue(method_type, ref status.element_assist.values[4], value);
                break;

            case ParamTypes.Assist_Shine:
                BuffEffect.SetBuffValue(method_type, ref status.element_assist.values[5], value);
                break;

            case ParamTypes.Assist_Dark:
                BuffEffect.SetBuffValue(method_type, ref status.element_assist.values[6], value);
                break;

            case ParamTypes.Assist_Poison:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[0], value);
                break;

            case ParamTypes.Assist_Paralysed:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[1], value);
                break;

            case ParamTypes.Assist_Stun:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[2], value);
                break;

            case ParamTypes.Assist_Sleep:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[3], value);
                break;

            case ParamTypes.Assist_Charm:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[4], value);
                break;

            case ParamTypes.Assist_Stone:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[5], value);
                break;

            case ParamTypes.Assist_Blind:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[6], value);
                break;

            case ParamTypes.Assist_DisableSkill:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[7], value);
                break;

            case ParamTypes.Assist_DisableMove:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[8], value);
                break;

            case ParamTypes.Assist_DisableAttack:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[9], value);
                break;

            case ParamTypes.Assist_Zombie:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[10], value);
                break;

            case ParamTypes.Assist_DeathSentence:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[11], value);
                break;

            case ParamTypes.Assist_Berserk:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[12], value);
                break;

            case ParamTypes.Assist_Knockback:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[13], value);
                break;

            case ParamTypes.Assist_ResistBuff:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[14], value);
                break;

            case ParamTypes.Assist_ResistDebuff:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[15], value);
                break;

            case ParamTypes.Assist_Stop:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[16], value);
                break;

            case ParamTypes.Assist_Fast:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[17], value);
                break;

            case ParamTypes.Assist_Slow:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[18], value);
                break;

            case ParamTypes.Assist_AutoHeal:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[19], value);
                break;

            case ParamTypes.Assist_Donsoku:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[20], value);
                break;

            case ParamTypes.Assist_Rage:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[21], value);
                break;

            case ParamTypes.Assist_GoodSleep:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[22], value);
                break;

            case ParamTypes.Assist_ConditionAll:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[0], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[1], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[2], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[3], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[4], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[5], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[6], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[7], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[8], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[9], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[11], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[12], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[16], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[17], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[18], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[20], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[21], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[24], value);
                break;

            case ParamTypes.Resist_Fire:
                BuffEffect.SetBuffValue(method_type, ref status.element_resist.values[1], value);
                break;

            case ParamTypes.Resist_Water:
                BuffEffect.SetBuffValue(method_type, ref status.element_resist.values[2], value);
                break;

            case ParamTypes.Resist_Wind:
                BuffEffect.SetBuffValue(method_type, ref status.element_resist.values[3], value);
                break;

            case ParamTypes.Resist_Thunder:
                BuffEffect.SetBuffValue(method_type, ref status.element_resist.values[4], value);
                break;

            case ParamTypes.Resist_Shine:
                BuffEffect.SetBuffValue(method_type, ref status.element_resist.values[5], value);
                break;

            case ParamTypes.Resist_Dark:
                BuffEffect.SetBuffValue(method_type, ref status.element_resist.values[6], value);
                break;

            case ParamTypes.Resist_Poison:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[0], value);
                break;

            case ParamTypes.Resist_Paralysed:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[1], value);
                break;

            case ParamTypes.Resist_Stun:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[2], value);
                break;

            case ParamTypes.Resist_Sleep:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[3], value);
                break;

            case ParamTypes.Resist_Charm:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[4], value);
                break;

            case ParamTypes.Resist_Stone:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[5], value);
                break;

            case ParamTypes.Resist_Blind:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[6], value);
                break;

            case ParamTypes.Resist_DisableSkill:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[7], value);
                break;

            case ParamTypes.Resist_DisableMove:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[8], value);
                break;

            case ParamTypes.Resist_DisableAttack:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[9], value);
                break;

            case ParamTypes.Resist_Zombie:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[10], value);
                break;

            case ParamTypes.Resist_DeathSentence:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[11], value);
                break;

            case ParamTypes.Resist_Berserk:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[12], value);
                break;

            case ParamTypes.Resist_Knockback:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[13], value);
                break;

            case ParamTypes.Resist_ResistBuff:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[14], value);
                break;

            case ParamTypes.Resist_ResistDebuff:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[15], value);
                break;

            case ParamTypes.Resist_Stop:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[16], value);
                break;

            case ParamTypes.Resist_Fast:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[17], value);
                break;

            case ParamTypes.Resist_Slow:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[18], value);
                break;

            case ParamTypes.Resist_AutoHeal:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[19], value);
                break;

            case ParamTypes.Resist_Donsoku:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[20], value);
                break;

            case ParamTypes.Resist_Rage:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[21], value);
                break;

            case ParamTypes.Resist_GoodSleep:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[22], value);
                break;

            case ParamTypes.Resist_ConditionAll:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[0], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[1], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[2], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[3], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[4], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[5], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[6], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[7], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[8], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[9], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[11], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[12], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[16], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[18], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[20], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[21], value);
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[24], value);
                break;

            case ParamTypes.HitRate:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[3], value);
                break;

            case ParamTypes.AvoidRate:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[4], value);
                break;

            case ParamTypes.CriticalRate:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[5], value);
                break;

            case ParamTypes.GainJewel:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[13], value);
                break;

            case ParamTypes.UsedJewelRate:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[14], value);
                break;

            case ParamTypes.ActionCount:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[15], value);
                break;

            case ParamTypes.SlashAttack:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[6], value);
                break;

            case ParamTypes.PierceAttack:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[7], value);
                break;

            case ParamTypes.BlowAttack:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[8], value);
                break;

            case ParamTypes.ShotAttack:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[9], value);
                break;

            case ParamTypes.MagicAttack:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[10], value);
                break;

            case ParamTypes.ReactionAttack:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[11], value);
                break;

            case ParamTypes.JumpAttack:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[12], value);
                break;

            case ParamTypes.GutsRate:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[16], value);
                break;

            case ParamTypes.AutoJewel:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[17], value);
                break;

            case ParamTypes.ChargeTimeRate:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[18], value);
                break;

            case ParamTypes.CastTimeRate:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[19], value);
                break;

            case ParamTypes.BuffTurn:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[20], value);
                break;

            case ParamTypes.DebuffTurn:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[21], value);
                break;

            case ParamTypes.CombinationRange:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[22], value);
                break;

            case ParamTypes.HpCostRate:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[23], value);
                break;

            case ParamTypes.SkillUseCount:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[24], value);
                break;

            case ParamTypes.PoisonDamage:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[25], value);
                break;

            case ParamTypes.PoisonTurn:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[26], value);
                break;

            case ParamTypes.Assist_AutoJewel:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[23], value);
                break;

            case ParamTypes.Resist_AutoJewel:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[23], value);
                break;

            case ParamTypes.Assist_DisableHeal:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[24], value);
                break;

            case ParamTypes.Resist_DisableHeal:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[24], value);
                break;

            case ParamTypes.Resist_Slash:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[27], value);
                break;

            case ParamTypes.Resist_Pierce:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[28], value);
                break;

            case ParamTypes.Resist_Blow:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[29], value);
                break;

            case ParamTypes.Resist_Shot:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[30], value);
                break;

            case ParamTypes.Resist_Magic:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[31], value);
                break;

            case ParamTypes.Resist_Reaction:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[32], value);
                break;

            case ParamTypes.Resist_Jump:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[33], value);
                break;

            case ParamTypes.Avoid_Slash:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[34], value);
                break;

            case ParamTypes.Avoid_Pierce:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[35], value);
                break;

            case ParamTypes.Avoid_Blow:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[36], value);
                break;

            case ParamTypes.Avoid_Shot:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[37], value);
                break;

            case ParamTypes.Avoid_Magic:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[38], value);
                break;

            case ParamTypes.Avoid_Reaction:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[39], value);
                break;

            case ParamTypes.Avoid_Jump:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[40], value);
                break;

            case ParamTypes.GainJewelRate:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[41], value);
                break;

            case ParamTypes.UsedJewel:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[42], value);
                break;

            case ParamTypes.Assist_SingleAttack:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[25], value);
                break;

            case ParamTypes.Assist_AreaAttack:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[26], value);
                break;

            case ParamTypes.Resist_SingleAttack:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[25], value);
                break;

            case ParamTypes.Resist_AreaAttack:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[26], value);
                break;

            case ParamTypes.Assist_DecCT:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[27], value);
                break;

            case ParamTypes.Assist_IncCT:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[28], value);
                break;

            case ParamTypes.Resist_DecCT:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[27], value);
                break;

            case ParamTypes.Resist_IncCT:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[28], value);
                break;

            case ParamTypes.Assist_ESA_Fire:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[29], value);
                break;

            case ParamTypes.Assist_ESA_Water:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[30], value);
                break;

            case ParamTypes.Assist_ESA_Wind:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[31], value);
                break;

            case ParamTypes.Assist_ESA_Thunder:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[32], value);
                break;

            case ParamTypes.Assist_ESA_Shine:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[33], value);
                break;

            case ParamTypes.Assist_ESA_Dark:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[34], value);
                break;

            case ParamTypes.Resist_ESA_Fire:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[29], value);
                break;

            case ParamTypes.Resist_ESA_Water:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[30], value);
                break;

            case ParamTypes.Resist_ESA_Wind:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[31], value);
                break;

            case ParamTypes.Resist_ESA_Thunder:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[32], value);
                break;

            case ParamTypes.Resist_ESA_Shine:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[33], value);
                break;

            case ParamTypes.Resist_ESA_Dark:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[34], value);
                break;

            case ParamTypes.UnitDefenseFire:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[43], value);
                break;

            case ParamTypes.UnitDefenseWater:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[44], value);
                break;

            case ParamTypes.UnitDefenseWind:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[45], value);
                break;

            case ParamTypes.UnitDefenseThunder:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[46], value);
                break;

            case ParamTypes.UnitDefenseShine:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[47], value);
                break;

            case ParamTypes.UnitDefenseDark:
                BuffEffect.SetBuffValue(method_type, ref status.bonus.values[48], value);
                break;

            case ParamTypes.Assist_MaxDamageHp:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[35], value);
                break;

            case ParamTypes.Assist_MaxDamageMp:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_assist.values[36], value);
                break;

            case ParamTypes.Resist_MaxDamageHp:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[35], value);
                break;

            case ParamTypes.Resist_MaxDamageMp:
                BuffEffect.SetBuffValue(method_type, ref status.enchant_resist.values[36], value);
                break;
            }
        }
示例#5
0
        public void CalcBuffStatus(ref BaseStatus status, EElement element, BuffTypes buffType, bool is_check_negative_value, bool is_negative_value_is_buff, SkillParamCalcTypes calcType, int up_count = 0)
        {
            for (int index = 0; index < this.targets.Count; ++index)
            {
                BuffEffect.BuffTarget target = this.targets[index];
                if (target.buffType == buffType && (!is_check_negative_value || BuffEffectParam.IsNegativeValueIsBuff(target.paramType) == is_negative_value_is_buff) && target.calcType == calcType)
                {
                    if (element != EElement.None)
                    {
                        bool flag = false;
                        switch (target.paramType)
                        {
                        case ParamTypes.Assist_Fire:
                        case ParamTypes.UnitDefenseFire:
                            flag = element != EElement.Fire;
                            break;

                        case ParamTypes.Assist_Water:
                        case ParamTypes.UnitDefenseWater:
                            flag = element != EElement.Water;
                            break;

                        case ParamTypes.Assist_Wind:
                        case ParamTypes.UnitDefenseWind:
                            flag = element != EElement.Wind;
                            break;

                        case ParamTypes.Assist_Thunder:
                        case ParamTypes.UnitDefenseThunder:
                            flag = element != EElement.Thunder;
                            break;

                        case ParamTypes.Assist_Shine:
                        case ParamTypes.UnitDefenseShine:
                            flag = element != EElement.Shine;
                            break;

                        case ParamTypes.Assist_Dark:
                        case ParamTypes.UnitDefenseDark:
                            flag = element != EElement.Dark;
                            break;
                        }
                        if (flag)
                        {
                            continue;
                        }
                    }
                    BuffMethodTypes buffMethodType = this.GetBuffMethodType(target.buffType, calcType);
                    ParamTypes      paramType      = target.paramType;
                    int             val1           = (int)target.value;
                    if ((bool)this.param.mIsUpBuff)
                    {
                        val1 = (int)target.value_one * up_count;
                        if (val1 > 0)
                        {
                            val1 = Math.Min(val1, (int)target.value);
                        }
                        else if (val1 < 0)
                        {
                            val1 = Math.Max(val1, (int)target.value);
                        }
                    }
                    BuffEffect.SetBuffValues(paramType, buffMethodType, ref status, val1);
                }
            }
        }
示例#6
0
        private void InternalBuffSkill(BuffEffect effect, EElement element, BuffTypes buffType, bool is_check_negative_value, bool is_negative_value_is_buff, SkillParamCalcTypes calcType, BaseStatus status, List <BuffEffect.BuffValues> list = null)
        {
            for (int index1 = 0; index1 < effect.targets.Count; ++index1)
            {
                BuffEffect.BuffTarget target = effect.targets[index1];
                if (target != null && target.buffType == buffType && (!is_check_negative_value || BuffEffectParam.IsNegativeValueIsBuff(target.paramType) == is_negative_value_is_buff) && target.calcType == calcType)
                {
                    if (element != EElement.None)
                    {
                        bool flag = false;
                        switch (target.paramType)
                        {
                        case ParamTypes.Assist_Fire:
                        case ParamTypes.UnitDefenseFire:
                            flag = element != EElement.Fire;
                            break;

                        case ParamTypes.Assist_Water:
                        case ParamTypes.UnitDefenseWater:
                            flag = element != EElement.Water;
                            break;

                        case ParamTypes.Assist_Wind:
                        case ParamTypes.UnitDefenseWind:
                            flag = element != EElement.Wind;
                            break;

                        case ParamTypes.Assist_Thunder:
                        case ParamTypes.UnitDefenseThunder:
                            flag = element != EElement.Thunder;
                            break;

                        case ParamTypes.Assist_Shine:
                        case ParamTypes.UnitDefenseShine:
                            flag = element != EElement.Shine;
                            break;

                        case ParamTypes.Assist_Dark:
                        case ParamTypes.UnitDefenseDark:
                            flag = element != EElement.Dark;
                            break;
                        }
                        if (flag)
                        {
                            continue;
                        }
                    }
                    BuffMethodTypes buffMethodType = this.GetBuffMethodType(target.buffType, calcType);
                    ParamTypes      paramType      = target.paramType;
                    int             num            = (int)target.value;
                    if ((bool)effect.param.mIsUpBuff)
                    {
                        num = 0;
                    }
                    if (list == null)
                    {
                        BuffEffect.SetBuffValues(paramType, buffMethodType, ref status, num);
                    }
                    else
                    {
                        bool flag = true;
                        for (int index2 = 0; index2 < list.Count; ++index2)
                        {
                            BuffEffect.BuffValues buffValues = list[index2];
                            if (buffValues.param_type == paramType && buffValues.method_type == buffMethodType)
                            {
                                buffValues.value += num;
                                list[index2]      = buffValues;
                                flag              = false;
                                break;
                            }
                        }
                        if (flag)
                        {
                            list.Add(new BuffEffect.BuffValues()
                            {
                                param_type  = paramType,
                                method_type = buffMethodType,
                                value       = num
                            });
                        }
                    }
                }
            }
        }