KLS asked to make cut/paste easier, so here's this suggested way:
find client_process.cpp lines 276-277
Code:
// Kaiyodo - support for double attack. Chance based on formula from Monkly business
if( target && CanThisClassDoubleAttack() ) {
change to
Code:
// Kaiyodo - support for double attack. Chance based on formula from Monkly business
bool tripleAttackSuccess = false;
if( target && CanThisClassDoubleAttack() ) {
find client_process.cpp lines 291-296
Code:
&& CheckDoubleAttack(false,true))
{
Attack(target, 13, true);
}
//quad attack, does this belong here??
change to
Code:
&& CheckDoubleAttack(false,true))
{
tripleAttackSuccess = true;
Attack(target, 13, true);
}
//quad attack, does this belong here??
find client_process.cpp lines 315-325
Code:
switch (GetAA(aaRagingFlurry)) {
case 1:
flurrychance += 10;
break;
case 2:
flurrychance += 20;
break;
case 3:
flurrychance += 30;
break;
}
change to
Code:
if(tripleAttackSuccess) {
tripleAttackSuccess = false;
switch (GetAA(aaRagingFlurry)) {
case 1:
flurrychance += 10;
break;
case 2:
flurrychance += 20;
break;
case 3:
flurrychance += 30;
break;
}
}
find client_process.cpp lines 393-396
Code:
float random = MakeRandomFloat(0, 1);
//if (random > 0.9) //this dosent make sense...
CheckIncreaseSkill(DUAL_WIELD);
if (random < DualWieldProbability || GetAA(aaAmbidexterity)) { // Max 78% of DW
change to
Code:
float random = MakeRandomFloat(0, 1);
CheckIncreaseSkill(DUAL_WIELD);
if (random < DualWieldProbability) { // Max 78% of DW
find client_process.cpp line 401 and Delete it
Code:
CheckIncreaseSkill(DUAL_WIELD);
find client_process.cpp lines 412-444 and Delete them.
Code:
if (target && GetAA(aaFlurry) > 0) {
int flurrychance = 0;
switch (GetAA(aaFlurry)) {
case 1:
flurrychance += 15;
break;
case 2:
flurrychance += 30;
break;
case 3:
flurrychance += 50;
break;
}
switch (GetAA(183)) {
case 1:
flurrychance += 10;
break;
case 2:
flurrychance += 20;
break;
case 3:
flurrychance += 30;
break;
}
if (rand()%1000 < flurrychance) {
Message_StringID(MT_CritMelee, 128);
Attack(target, 13, true);
//50% chance for yet another attack?
if(MakeRandomFloat(0, 1) < 0.5)
Attack(target, 13, true);
}
}
I'll get to work on the Double Attack change thread next.
Let me know if this works for you KLS or if there is still a better way? I don't know how to make a 'diff file' but would be willing to learn if that makes it easier on you.