Switch Master Wu to modern live implementation

Classic Master Wu still exists setting Combat:ClassicMasterWu to true
This commit is contained in:
Michael Cook (mackal) 2016-10-30 22:41:24 -04:00
parent cbb7090615
commit a15df2ec2c
2 changed files with 4 additions and 2 deletions

View File

@ -491,6 +491,7 @@ RULE_BOOL(Combat, UseLiveCombatRounds, true) // turn this false if you don't wan
RULE_INT(Combat, NPCAssistCap, 5) // Maxiumium number of NPCs that will assist another NPC at once RULE_INT(Combat, NPCAssistCap, 5) // Maxiumium number of NPCs that will assist another NPC at once
RULE_INT(Combat, NPCAssistCapTimer, 6000) // Time in milliseconds a NPC will take to clear assist aggro cap space RULE_INT(Combat, NPCAssistCapTimer, 6000) // Time in milliseconds a NPC will take to clear assist aggro cap space
RULE_BOOL(Combat, UseRevampHandToHand, false) // use h2h revamped dmg/delays I believe this was implemented during SoF RULE_BOOL(Combat, UseRevampHandToHand, false) // use h2h revamped dmg/delays I believe this was implemented during SoF
RULE_BOOL(Combat, ClassicMasterWu, false) // classic master wu uses a random special, modern doesn't
RULE_CATEGORY_END() RULE_CATEGORY_END()
RULE_CATEGORY(NPC) RULE_CATEGORY(NPC)

View File

@ -349,7 +349,7 @@ void Client::OPCombatAbility(const EQApplicationPacket *app) {
int wuchance = itembonuses.DoubleSpecialAttack + spellbonuses.DoubleSpecialAttack + aabonuses.DoubleSpecialAttack; int wuchance = itembonuses.DoubleSpecialAttack + spellbonuses.DoubleSpecialAttack + aabonuses.DoubleSpecialAttack;
if (wuchance) { if (wuchance) {
if (wuchance >= 100 || zone->random.Roll(wuchance)) { if (wuchance >= 100 || zone->random.Roll(wuchance)) {
int MonkSPA[5] = { EQEmu::skills::SkillFlyingKick, EQEmu::skills::SkillDragonPunch, EQEmu::skills::SkillEagleStrike, EQEmu::skills::SkillTigerClaw, EQEmu::skills::SkillRoundKick }; const int MonkSPA[5] = { EQEmu::skills::SkillFlyingKick, EQEmu::skills::SkillDragonPunch, EQEmu::skills::SkillEagleStrike, EQEmu::skills::SkillTigerClaw, EQEmu::skills::SkillRoundKick };
int extra = 1; int extra = 1;
// always 1/4 of the double attack chance, 25% at rank 5 (100/4) // always 1/4 of the double attack chance, 25% at rank 5 (100/4)
if (zone->random.Roll(wuchance / 4)) if (zone->random.Roll(wuchance / 4))
@ -358,8 +358,9 @@ void Client::OPCombatAbility(const EQApplicationPacket *app) {
std::string msg = StringFormat("The spirit of Master Wu fills you! You gain %d additional attack(s).", extra); std::string msg = StringFormat("The spirit of Master Wu fills you! You gain %d additional attack(s).", extra);
// live uses 400 here -- not sure if it's the best for all clients though // live uses 400 here -- not sure if it's the best for all clients though
SendColoredText(400, msg); SendColoredText(400, msg);
auto classic = RuleB(Combat, ClassicMasterWu);
while (extra) { while (extra) {
MonkSpecialAttack(GetTarget(), MonkSPA[zone->random.Int(0, 4)]); MonkSpecialAttack(GetTarget(), classic ? MonkSPA[zone->random.Int(0, 4)] : ca_atk->m_skill);
extra--; extra--;
} }
} }