Implemented SE_DoubleRiposte

This commit is contained in:
KayenEQ 2014-06-18 06:25:14 -04:00 committed by Arthur Ice
parent 5a4f80621b
commit 611f0e2aba
5 changed files with 23 additions and 1 deletions

View File

@ -7,6 +7,7 @@ Any effect with B prevents A, C prevents B, D prevents C.
Kayen: Implemented SE_DamageModifier2 (Stacks with SE_DamageModifier, mods damage by skill type) Kayen: Implemented SE_DamageModifier2 (Stacks with SE_DamageModifier, mods damage by skill type)
Kayen: Implemented SE_AddHatePct (Modifies +/- your total hate on NPC by percent) Kayen: Implemented SE_AddHatePct (Modifies +/- your total hate on NPC by percent)
Kayen: Implemented SE_AddHateOverTimePct (Modifies +/- your total hate on NPC by percent over time) Kayen: Implemented SE_AddHateOverTimePct (Modifies +/- your total hate on NPC by percent over time)
Kayen: Implemented SE_DoubleRiposte (Modifies +/- your double riposte chance)
== 06/13/2014 == == 06/13/2014 ==
Kayen: For table 'npc_spell_effects_entries' setting se_max for damage shield effects (59) will now determine the DS Type (ie burning) Kayen: For table 'npc_spell_effects_entries' setting se_max for damage shield effects (59) will now determine the DS Type (ie burning)

View File

@ -370,7 +370,7 @@ typedef enum {
#define SE_SkillDamageAmount 220 // implemented #define SE_SkillDamageAmount 220 // implemented
#define SE_Packrat 221 // implemented as bonus #define SE_Packrat 221 // implemented as bonus
#define SE_BlockBehind 222 // implemented - Chance to block from behind (with our without Shield) #define SE_BlockBehind 222 // implemented - Chance to block from behind (with our without Shield)
//#define SE_DoubleRiposte 223 // not used #define SE_DoubleRiposte 223 // implemented - Chance to double riposte [not used on live]
#define SE_GiveDoubleRiposte 224 // implemented[AA] #define SE_GiveDoubleRiposte 224 // implemented[AA]
#define SE_GiveDoubleAttack 225 // implemented[AA] - Allow any class to double attack with set chance. #define SE_GiveDoubleAttack 225 // implemented[AA] - Allow any class to double attack with set chance.
#define SE_TwoHandBash 226 // *not implemented as bonus #define SE_TwoHandBash 226 // *not implemented as bonus

View File

@ -4449,6 +4449,10 @@ void Mob::DoRiposte(Mob* defender) {
defender->spellbonuses.GiveDoubleRiposte[0] + defender->spellbonuses.GiveDoubleRiposte[0] +
defender->itembonuses.GiveDoubleRiposte[0]; defender->itembonuses.GiveDoubleRiposte[0];
DoubleRipChance = defender->aabonuses.DoubleRiposte +
defender->spellbonuses.DoubleRiposte +
defender->itembonuses.DoubleRiposte;
//Live AA - Double Riposte //Live AA - Double Riposte
if(DoubleRipChance && (DoubleRipChance >= MakeRandomInt(0, 100))) { if(DoubleRipChance && (DoubleRipChance >= MakeRandomInt(0, 100))) {
mlog(COMBAT__ATTACKS, "Preforming a double riposed (%d percent chance)", DoubleRipChance); mlog(COMBAT__ATTACKS, "Preforming a double riposed (%d percent chance)", DoubleRipChance);

View File

@ -1116,6 +1116,11 @@ void Client::ApplyAABonuses(uint32 aaid, uint32 slots, StatBonuses* newbon)
break; break;
} }
case SE_DoubleRiposte:
{
newbon->DoubleRiposte += base1;
}
case SE_GiveDoubleRiposte: case SE_GiveDoubleRiposte:
{ {
//0=Regular Riposte 1=Skill Attack Riposte 2=Skill //0=Regular Riposte 1=Skill Attack Riposte 2=Skill
@ -2571,6 +2576,11 @@ void Mob::ApplySpellsBonuses(uint16 spell_id, uint8 casterlevel, StatBonuses* ne
break; break;
} }
case SE_DoubleRiposte:
{
newbon->DoubleRiposte += effect_value;
}
case SE_GiveDoubleRiposte: case SE_GiveDoubleRiposte:
{ {
//Only allow for regular double riposte chance. //Only allow for regular double riposte chance.
@ -3978,6 +3988,12 @@ void Mob::NegateSpellsBonuses(uint16 spell_id)
itembonuses.MasteryofPast = effect_value; itembonuses.MasteryofPast = effect_value;
break; break;
case SE_DoubleRiposte:
spellbonuses.DoubleRiposte = effect_value;
itembonuses.DoubleRiposte = effect_value;
aabonuses.DoubleRiposte = effect_value;
break;
case SE_GiveDoubleRiposte: case SE_GiveDoubleRiposte:
spellbonuses.GiveDoubleRiposte[0] = effect_value; spellbonuses.GiveDoubleRiposte[0] = effect_value;
itembonuses.GiveDoubleRiposte[0] = effect_value; itembonuses.GiveDoubleRiposte[0] = effect_value;

View File

@ -383,6 +383,7 @@ struct StatBonuses {
int16 PetCriticalHit; // Allow pets to critical hit with % value. int16 PetCriticalHit; // Allow pets to critical hit with % value.
int16 PetAvoidance; // Pet avoidance chance. int16 PetAvoidance; // Pet avoidance chance.
int16 CombatStability; // Melee damage mitigation. int16 CombatStability; // Melee damage mitigation.
int16 DoubleRiposte; // Chance to double riposte
int16 GiveDoubleRiposte[3]; // 0=Regular Chance, 1=Skill Attack Chance, 2=Skill int16 GiveDoubleRiposte[3]; // 0=Regular Chance, 1=Skill Attack Chance, 2=Skill
uint16 RaiseSkillCap[2]; // Raise a specific skill cap (1 = value, 2=skill) uint16 RaiseSkillCap[2]; // Raise a specific skill cap (1 = value, 2=skill)
int16 Ambidexterity; // Increase chance to duel wield by adding bonus 'skill'. int16 Ambidexterity; // Increase chance to duel wield by adding bonus 'skill'.