public void SetSkillDetailATB() { this.m_nSkillDetailATB = 0; for (int i = 0; i < 10; i++) { if (this.m_nSkillDetalParamValue[i] > 0 && this.m_nSkillDetalParamType[i] > 0) { eBATTLESKILL_DETAIL_CODE eBATTLESKILL_DETAIL_CODE = (eBATTLESKILL_DETAIL_CODE)this.m_nSkillDetalParamType[i]; switch (eBATTLESKILL_DETAIL_CODE) { case eBATTLESKILL_DETAIL_CODE.ENDURE_HEAL: case eBATTLESKILL_DETAIL_CODE.ENDURE_HEAL_P: goto IL_14F; case eBATTLESKILL_DETAIL_CODE.ENDURE_ANGERLYPOINT: case eBATTLESKILL_DETAIL_CODE.AFTER_USED_DAMAGE_TYPE: case eBATTLESKILL_DETAIL_CODE.AFTER_USED_DAMAGE_TARGET: case eBATTLESKILL_DETAIL_CODE.DEL_BUFF_ALL: case eBATTLESKILL_DETAIL_CODE.DEL_BUFF_TYPE: case eBATTLESKILL_DETAIL_CODE.ACTION_HP_P: case eBATTLESKILL_DETAIL_CODE.SUICIDE: case eBATTLESKILL_DETAIL_CODE.REVIVAL: IL_7C: switch (eBATTLESKILL_DETAIL_CODE) { case eBATTLESKILL_DETAIL_CODE.BLOOD_SUCKING_PER: case eBATTLESKILL_DETAIL_CODE.BLOOD_SUCKING_VALUE: case eBATTLESKILL_DETAIL_CODE.ADD_BLOOD_SUCKING_PER: case eBATTLESKILL_DETAIL_CODE.ADD_BLOOD_SUCKING_VALUE: case eBATTLESKILL_DETAIL_CODE.BLOOD_SUCKING_ALL_PER: case eBATTLESKILL_DETAIL_CODE.BLOOD_SUCKING_ALL_VALUE: if (!this.CheckSkillDetailATB(4)) { this.SetSkillDetailATBData(4); } goto IL_19B; case eBATTLESKILL_DETAIL_CODE.PROTECT_SHIELD_TYPE: case eBATTLESKILL_DETAIL_CODE.PROTECT_SHIELD_VALUE: case eBATTLESKILL_DETAIL_CODE.PROTECT_SHIELD_VALUE_P: case eBATTLESKILL_DETAIL_CODE.SKILL_SHIELD_TYPE: case eBATTLESKILL_DETAIL_CODE.SKILL_SHIELD_BUFFTYPE: IL_B9: switch (eBATTLESKILL_DETAIL_CODE) { case eBATTLESKILL_DETAIL_CODE.NOTURN_ON: case eBATTLESKILL_DETAIL_CODE.NOSKILL_ON: case eBATTLESKILL_DETAIL_CODE.NOCONTROL_ON: case eBATTLESKILL_DETAIL_CODE.NOCONTROL_AND_NOTARGETING: case eBATTLESKILL_DETAIL_CODE.NONORMAL_ATTACK_ON: goto IL_11F; case eBATTLESKILL_DETAIL_CODE.NOATTACK_ON: case eBATTLESKILL_DETAIL_CODE.IMMORTAL_ON: IL_DE: switch (eBATTLESKILL_DETAIL_CODE) { case eBATTLESKILL_DETAIL_CODE.HEAL: case eBATTLESKILL_DETAIL_CODE.HEAL_P: goto IL_14F; case eBATTLESKILL_DETAIL_CODE.DAMAGE_P: IL_F2: if (eBATTLESKILL_DETAIL_CODE == eBATTLESKILL_DETAIL_CODE.SLEEP_ON) { goto IL_11F; } if (eBATTLESKILL_DETAIL_CODE != eBATTLESKILL_DETAIL_CODE.SUMMON_BARRIER_KIND) { goto IL_19B; } goto IL_181; } goto IL_F2; } goto IL_DE; IL_11F: if (!this.CheckSkillDetailATB(2)) { this.SetSkillDetailATBData(2); } goto IL_19B; case eBATTLESKILL_DETAIL_CODE.ADD_ANGERLYPOINT: case eBATTLESKILL_DETAIL_CODE.PLUNDER_ANGERLYPOINT_P: if (!this.CheckSkillDetailATB(16)) { this.SetSkillDetailATBData(16); } goto IL_19B; } goto IL_B9; case eBATTLESKILL_DETAIL_CODE.AFTER_USED_DAMAGE: case eBATTLESKILL_DETAIL_CODE.AFTER_USED_DAMAGE_P: case eBATTLESKILL_DETAIL_CODE.AFTER_USED_HEAL: case eBATTLESKILL_DETAIL_CODE.AFTER_USED_SKILL: case eBATTLESKILL_DETAIL_CODE.AFTER_USED_SKILL_LEVEL: if (!this.CheckSkillDetailATB(1)) { this.SetSkillDetailATBData(1); } goto IL_19B; case eBATTLESKILL_DETAIL_CODE.SUMMON_KIND: goto IL_181; } goto IL_7C; IL_14F: if (!this.CheckSkillDetailATB(8)) { this.SetSkillDetailATBData(8); } goto IL_19B; IL_181: if (!this.CheckSkillDetailATB(32)) { this.SetSkillDetailATBData(32); } } IL_19B :; } }
private void ReplaceParamValBattleSkill(ref int m_iTextCount, ref StringBuilder refReplaceText, string szContent, BATTLESKILL_DETAIL BSkillDetail, NkSoldierInfo solInfo, int costumeUnique = -1) { int length = szContent.Length; int i = m_iTextCount + 1; this.willReplaceParamBuilder.Length = 0; while (i < length) { if (szContent[i] == this.m_szTag[13]) { break; } this.willReplaceParamBuilder.Append(szContent[i]); i++; } string text = this.willReplaceParamBuilder.ToString(); int paramType = NrTSingleton <BATTLE_SKILL_PARSER> .Instance.GetParamType(text); int skillDetalParamValue = BSkillDetail.GetSkillDetalParamValue(paramType); float num = 0f; long num2 = 0L; if (skillDetalParamValue != 0) { eBATTLESKILL_DETAIL_CODE eBATTLESKILL_DETAIL_CODE = (eBATTLESKILL_DETAIL_CODE)paramType; switch (eBATTLESKILL_DETAIL_CODE) { case eBATTLESKILL_DETAIL_CODE.ADD_CRITICAL: case eBATTLESKILL_DETAIL_CODE.ADD_PHY_DEFENSE_P: case eBATTLESKILL_DETAIL_CODE.ADD_MAG_DEFENSE_P: case eBATTLESKILL_DETAIL_CODE.ADD_HIT_RATE_P: case eBATTLESKILL_DETAIL_CODE.ADD_EVASION_P: case eBATTLESKILL_DETAIL_CODE.ADD_CRITICAL_P: case eBATTLESKILL_DETAIL_CODE.ADD_MIN_DAMAGE_P: case eBATTLESKILL_DETAIL_CODE.ADD_MAX_DAMAGE_P: case eBATTLESKILL_DETAIL_CODE.ADD_MAX_HP_P: case eBATTLESKILL_DETAIL_CODE.MINUS_MIN_DAMAGE_P: case eBATTLESKILL_DETAIL_CODE.MINUS_MAX_DAMAGE_P: case eBATTLESKILL_DETAIL_CODE.MINUS_PHY_DEFENSE_P: case eBATTLESKILL_DETAIL_CODE.MINUS_MAG_DEFENSE_P: case eBATTLESKILL_DETAIL_CODE.MINUS_MAX_HP_P: case eBATTLESKILL_DETAIL_CODE.MINUS_CRITICAL: case eBATTLESKILL_DETAIL_CODE.MINUS_HEAL_P: case eBATTLESKILL_DETAIL_CODE.PLUS_HEAL_P: case eBATTLESKILL_DETAIL_CODE.MINUS_DAMAGE_P: case eBATTLESKILL_DETAIL_CODE.PLUS_DAMAGE_P: goto IL_2C3; case eBATTLESKILL_DETAIL_CODE.ADD_MIN_DAMAGE: case eBATTLESKILL_DETAIL_CODE.ADD_MAX_DAMAGE: case eBATTLESKILL_DETAIL_CODE.ADD_MAX_HP: case eBATTLESKILL_DETAIL_CODE.MINUS_MIN_DAMAGE: case eBATTLESKILL_DETAIL_CODE.MINUS_MAX_DAMAGE: case eBATTLESKILL_DETAIL_CODE.MINUS_PHY_DEFENSE: case eBATTLESKILL_DETAIL_CODE.MINUS_MAG_DEFENSE: case eBATTLESKILL_DETAIL_CODE.MINUS_MAX_HP: case eBATTLESKILL_DETAIL_CODE.NOMOVE_ON: case eBATTLESKILL_DETAIL_CODE.NOTURN_ON: case eBATTLESKILL_DETAIL_CODE.NOSKILL_ON: case eBATTLESKILL_DETAIL_CODE.NOATTACK_ON: case eBATTLESKILL_DETAIL_CODE.IMMORTAL_ON: case eBATTLESKILL_DETAIL_CODE.NOCONTROL_ON: case eBATTLESKILL_DETAIL_CODE.NOCONTROL_AND_NOTARGETING: case eBATTLESKILL_DETAIL_CODE.NONORMAL_ATTACK_ON: case eBATTLESKILL_DETAIL_CODE.MINUS_HEAL: case eBATTLESKILL_DETAIL_CODE.PLUS_HEAL: case eBATTLESKILL_DETAIL_CODE.MINUS_DAMAGE: case eBATTLESKILL_DETAIL_CODE.PLUS_DAMAGE: IL_13A: switch (eBATTLESKILL_DETAIL_CODE) { case eBATTLESKILL_DETAIL_CODE.EMPTY_P: case eBATTLESKILL_DETAIL_CODE.INCREASE_WEPON_ACTIVE: case eBATTLESKILL_DETAIL_CODE.DECREASE_PVP_DAMAGE: case eBATTLESKILL_DETAIL_CODE.INCREASE_PVP_DAMAGE: case eBATTLESKILL_DETAIL_CODE.INCREASE_BOSS_DAMAGE: case eBATTLESKILL_DETAIL_CODE.DECREASE_MONSTER_DAMAGE: case eBATTLESKILL_DETAIL_CODE.INCREASE_EXP_P: case eBATTLESKILL_DETAIL_CODE.INCREASE_GOLD_P: case eBATTLESKILL_DETAIL_CODE.INCREASE_ITEM_P: case eBATTLESKILL_DETAIL_CODE.PHOENIX: case eBATTLESKILL_DETAIL_CODE.EMPTY_P2: goto IL_2C3; case eBATTLESKILL_DETAIL_CODE.EMPTY_DAMAGE_P: case eBATTLESKILL_DETAIL_CODE.EMPTY_DAMAGE_P2: goto IL_230; case eBATTLESKILL_DETAIL_CODE.IMMUNE_EQUAL_BOSS: case eBATTLESKILL_DETAIL_CODE.INCREASE_DEFENCE_ACTIVE: case eBATTLESKILL_DETAIL_CODE.DECREASE_CRITICAL_HIT: case eBATTLESKILL_DETAIL_CODE.MAGIC_RESIST: case eBATTLESKILL_DETAIL_CODE.PHYSICAL_RESIST: case eBATTLESKILL_DETAIL_CODE.EMPTY_VALUE2: IL_190: switch (eBATTLESKILL_DETAIL_CODE) { case eBATTLESKILL_DETAIL_CODE.ENDURE_DAMAGE_POISON_P: case eBATTLESKILL_DETAIL_CODE.ENDURE_DAMAGE_FIRE_P: case eBATTLESKILL_DETAIL_CODE.ENDURE_DAMAGE_ICE_P: case eBATTLESKILL_DETAIL_CODE.ENDURE_DAMAGE_LIGHTNING_P: case eBATTLESKILL_DETAIL_CODE.ENDURE_DAMAGE_BLEEDING_P: case eBATTLESKILL_DETAIL_CODE.ENDURE_HEAL_P: case eBATTLESKILL_DETAIL_CODE.AFTER_USED_DAMAGE_P: goto IL_230; case eBATTLESKILL_DETAIL_CODE.ENDURE_HEAL: case eBATTLESKILL_DETAIL_CODE.ENDURE_ANGERLYPOINT: case eBATTLESKILL_DETAIL_CODE.AFTER_USED_DAMAGE: case eBATTLESKILL_DETAIL_CODE.AFTER_USED_DAMAGE_TYPE: case eBATTLESKILL_DETAIL_CODE.AFTER_USED_DAMAGE_TARGET: case eBATTLESKILL_DETAIL_CODE.AFTER_USED_HEAL: case eBATTLESKILL_DETAIL_CODE.AFTER_USED_SKILL_LEVEL: case eBATTLESKILL_DETAIL_CODE.DEL_BUFF_ALL: case eBATTLESKILL_DETAIL_CODE.DEL_BUFF_TYPE: IL_1E2: switch (eBATTLESKILL_DETAIL_CODE) { case eBATTLESKILL_DETAIL_CODE.BLOOD_SUCKING_PER: case eBATTLESKILL_DETAIL_CODE.ADD_BLOOD_SUCKING_PER: case eBATTLESKILL_DETAIL_CODE.BLOOD_SUCKING_ALL_PER: goto IL_2C3; case eBATTLESKILL_DETAIL_CODE.BLOOD_SUCKING_VALUE: case eBATTLESKILL_DETAIL_CODE.ADD_BLOOD_SUCKING_VALUE: IL_200: if (eBATTLESKILL_DETAIL_CODE == eBATTLESKILL_DETAIL_CODE.DAMAGE_P || eBATTLESKILL_DETAIL_CODE == eBATTLESKILL_DETAIL_CODE.HEAL_P) { goto IL_230; } if (eBATTLESKILL_DETAIL_CODE == eBATTLESKILL_DETAIL_CODE.SUMMON_LEVEL_P) { goto IL_2C3; } if (eBATTLESKILL_DETAIL_CODE == eBATTLESKILL_DETAIL_CODE.PROTECT_SHIELD_VALUE_P) { goto IL_230; } if (eBATTLESKILL_DETAIL_CODE != eBATTLESKILL_DETAIL_CODE.PLUNDER_ANGERLYPOINT_P) { goto IL_385; } goto IL_2C3; } goto IL_200; case eBATTLESKILL_DETAIL_CODE.AFTER_USED_SKILL: { int skillDetalParamValue2 = BSkillDetail.GetSkillDetalParamValue(74); BATTLESKILL_DETAIL battleSkillDetail = NrTSingleton <BattleSkill_Manager> .Instance.GetBattleSkillDetail(skillDetalParamValue, skillDetalParamValue2); if (battleSkillDetail != null) { skillDetalParamValue = BSkillDetail.GetSkillDetalParamValue(3); if (skillDetalParamValue > 0) { if (solInfo != null) { int num3 = (solInfo.GetMaxDamage() + solInfo.GetMinDamage()) / 2; EVENT_HERODATA eventHeroCharCode = NrTSingleton <NrTableEvnetHeroManager> .Instance.GetEventHeroCharCode(solInfo.GetCharKind(), solInfo.GetGrade()); if (eventHeroCharCode != null) { int num4 = (int)((float)num3 * ((float)eventHeroCharCode.i32Attack * 0.01f)); num3 = num4; } num2 = (long)((int)((float)num3 * ((float)skillDetalParamValue / 10000f))); } else { num = (float)skillDetalParamValue / 100f; } } } goto IL_385; } case eBATTLESKILL_DETAIL_CODE.ACTION_HP_P: goto IL_2C3; } goto IL_1E2; } goto IL_190; case eBATTLESKILL_DETAIL_CODE.PLUS_MIN_DAMAGE_P: case eBATTLESKILL_DETAIL_CODE.PLUS_MAX_DAMAGE_P: goto IL_230; } goto IL_13A; IL_230: if (solInfo != null) { int num5 = (solInfo.GetMaxDamage() + solInfo.GetMinDamage()) / 2; if (0 <= costumeUnique) { num5 = this.GetCostumeDamage(solInfo, costumeUnique); } EVENT_HERODATA eventHeroCharCode2 = NrTSingleton <NrTableEvnetHeroManager> .Instance.GetEventHeroCharCode(solInfo.GetCharKind(), solInfo.GetGrade()); if (eventHeroCharCode2 != null) { int num6 = (int)((float)num5 * ((float)eventHeroCharCode2.i32Attack * 0.01f)); num5 = num6; } num2 = (long)num5 * (long)skillDetalParamValue; num2 /= 10000L; } else { num = (float)skillDetalParamValue / 100f; } goto IL_385; IL_2C3: num = (float)skillDetalParamValue / 100f; IL_385: string value; if (num2 > 0L) { value = num2.ToString(); } else if (num > 0f) { value = num.ToString(); } else { value = skillDetalParamValue.ToString(); } refReplaceText.Append(value); } m_iTextCount += text.Length + 1; }