From c447c251cdbe6b5a1d1ec4f97fe32f47aec8c75e Mon Sep 17 00:00:00 2001 From: "Michael Cook (mackal)" Date: Thu, 22 May 2014 13:45:44 -0400 Subject: [PATCH 1/2] Fix issue with avoidance discs --- zone/attack.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zone/attack.cpp b/zone/attack.cpp index 06ad5439f..02f4b0dfd 100644 --- a/zone/attack.cpp +++ b/zone/attack.cpp @@ -318,7 +318,7 @@ bool Mob::CheckHitChance(Mob* other, SkillUseTypes skillinuse, int Hand, int16 c chancetohit = mod_hit_chance(chancetohit, skillinuse, attacker); // Chance to hit; Max 95%, Min 30% - if(chancetohit > 1000) { + if(chancetohit > 1000 || chancetohit < -1000) { //if chance to hit is crazy high, that means a discipline is in use, and let it stay there } else if(chancetohit > 95) { From 5af47c5951a275921010b0fe5143441d82c0cec6 Mon Sep 17 00:00:00 2001 From: "Michael Cook (mackal)" Date: Fri, 23 May 2014 17:21:47 -0400 Subject: [PATCH 2/2] Fix for Technique of Master Wu triple attack --- zone/special_attacks.cpp | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/zone/special_attacks.cpp b/zone/special_attacks.cpp index 54e70f3d0..4bbd808cc 100644 --- a/zone/special_attacks.cpp +++ b/zone/special_attacks.cpp @@ -351,19 +351,14 @@ void Client::OPCombatAbility(const EQApplicationPacket *app) { //Live AA - Technique of Master Wu uint16 bDoubleSpecialAttack = itembonuses.DoubleSpecialAttack + spellbonuses.DoubleSpecialAttack + aabonuses.DoubleSpecialAttack; - if( bDoubleSpecialAttack && (bDoubleSpecialAttack >= 100 || bDoubleSpecialAttack > MakeRandomInt(0,100)) ) { + if (bDoubleSpecialAttack && (bDoubleSpecialAttack >= 100 || bDoubleSpecialAttack > MakeRandomInt(0, 99))) { int MonkSPA [5] = { SkillFlyingKick, SkillDragonPunch, SkillEagleStrike, SkillTigerClaw, SkillRoundKick }; - MonkSpecialAttack(GetTarget(), MonkSPA[MakeRandomInt(0,4)]); + MonkSpecialAttack(GetTarget(), MonkSPA[MakeRandomInt(0, 4)]); - int TripleChance = 25; - - if (bDoubleSpecialAttack > 100) - TripleChance += TripleChance*(100-bDoubleSpecialAttack)/100; - - if(TripleChance > MakeRandomInt(0,100)) { - MonkSpecialAttack(GetTarget(), MonkSPA[MakeRandomInt(0,4)]); - } + // always 1/4 of the double attack chance, 25% at rank 5 (100/4) + if ((bDoubleSpecialAttack / 4) > MakeRandomInt(0, 99)) + MonkSpecialAttack(GetTarget(), MonkSPA[MakeRandomInt(0, 4)]); } if(ReuseTime < 100) {