mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-15 16:41:29 +00:00
Few more AA updates to use database instead of hard coded values.
This commit is contained in:
parent
2cf59ae2f2
commit
79c9862131
@ -400,7 +400,7 @@ typedef enum {
|
|||||||
#define SE_RootBreakChance 244 // implemented[AA] reduce the chance that your root will break.
|
#define SE_RootBreakChance 244 // implemented[AA] reduce the chance that your root will break.
|
||||||
#define SE_TrapCircumvention 245 // *not implemented[AA] - decreases the chance that you will set off a trap when opening a chest
|
#define SE_TrapCircumvention 245 // *not implemented[AA] - decreases the chance that you will set off a trap when opening a chest
|
||||||
#define SE_SetBreathLevel 246 // *not implemented as bonus
|
#define SE_SetBreathLevel 246 // *not implemented as bonus
|
||||||
#define SE_RaiseSkillCap 247 // *not implemented[AA] - adds skill over the skill cap.
|
#define SE_RaiseSkillCap 247 // implemented[AA] - adds skill over the skill cap.
|
||||||
#define SE_SecondaryForte 248 // not implemented as bonus(gives you a 2nd specialize skill that can go past 50 to 100)
|
#define SE_SecondaryForte 248 // not implemented as bonus(gives you a 2nd specialize skill that can go past 50 to 100)
|
||||||
#define SE_SecondaryDmgInc 249 // implemented[AA] Allows off hand weapon to recieve a damage bonus (Sinister Strikes)
|
#define SE_SecondaryDmgInc 249 // implemented[AA] Allows off hand weapon to recieve a damage bonus (Sinister Strikes)
|
||||||
#define SE_SpellProcChance 250 // implemented - Increase chance to proc from melee proc spells (ie Spirit of Panther)
|
#define SE_SpellProcChance 250 // implemented - Increase chance to proc from melee proc spells (ie Spirit of Panther)
|
||||||
@ -416,7 +416,7 @@ typedef enum {
|
|||||||
#define SE_AddSingingMod 260 // implemented[AA] - Instrument/Singing Mastery, base1 is the mod, base2 is the ItemType
|
#define SE_AddSingingMod 260 // implemented[AA] - Instrument/Singing Mastery, base1 is the mod, base2 is the ItemType
|
||||||
#define SE_SongModCap 261 // implemented[AA] - Song Mod cap increase (no longer used on live)
|
#define SE_SongModCap 261 // implemented[AA] - Song Mod cap increase (no longer used on live)
|
||||||
#define SE_RaiseStatCap 262 // implemented
|
#define SE_RaiseStatCap 262 // implemented
|
||||||
#define SE_TradeSkillMastery 263 // not implemented - lets you raise more than one tradeskill above master.
|
#define SE_TradeSkillMastery 263 // implemented - lets you raise more than one tradeskill above master.
|
||||||
#define SE_HastenedAASkill 264 // implemented
|
#define SE_HastenedAASkill 264 // implemented
|
||||||
#define SE_MasteryofPast 265 // implemented[AA] - Spells less than effect values level can not be fizzled
|
#define SE_MasteryofPast 265 // implemented[AA] - Spells less than effect values level can not be fizzled
|
||||||
#define SE_ExtraAttackChance 266 // implemented - increase chance to score an extra attack with a 2-Handed Weapon.
|
#define SE_ExtraAttackChance 266 // implemented - increase chance to score an extra attack with a 2-Handed Weapon.
|
||||||
@ -478,7 +478,7 @@ typedef enum {
|
|||||||
#define SE_GateToHomeCity 322 // implemented
|
#define SE_GateToHomeCity 322 // implemented
|
||||||
#define SE_DefensiveProc 323 // implemented
|
#define SE_DefensiveProc 323 // implemented
|
||||||
#define SE_HPToMana 324 // implemented
|
#define SE_HPToMana 324 // implemented
|
||||||
//#define SE_ChanceInvsBreakToAoE 325 // *not implemented[AA] - [AA Nerves of Steel] increasing chance to remain hidden when they are an indirect target of an AoE spell.
|
//#define SE_NoBreakAESneak 325 // *not implemented[AA] - [AA Nerves of Steel] increasing chance to remain hidden when they are an indirect target of an AoE spell.
|
||||||
#define SE_SpellSlotIncrease 326 // *not implemented as bonus - increases your spell slot availability
|
#define SE_SpellSlotIncrease 326 // *not implemented as bonus - increases your spell slot availability
|
||||||
#define SE_MysticalAttune 327 // implemented - increases amount of buffs that a player can have
|
#define SE_MysticalAttune 327 // implemented - increases amount of buffs that a player can have
|
||||||
#define SE_DelayDeath 328 // implemented - increases how far you can fall below 0 hp before you die
|
#define SE_DelayDeath 328 // implemented - increases how far you can fall below 0 hp before you die
|
||||||
|
|||||||
@ -1199,13 +1199,10 @@ void Mob::ApplyAABonuses(const AA::Rank &rank, StatBonuses *newbon)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Kayen: Not sure best way to implement this yet.
|
|
||||||
// Physically raises skill cap ie if 55/55 it will raise to 55/60
|
// Physically raises skill cap ie if 55/55 it will raise to 55/60
|
||||||
case SE_RaiseSkillCap: {
|
case SE_RaiseSkillCap: {
|
||||||
if (newbon->RaiseSkillCap[0] < base1) {
|
if (newbon->RaiseSkillCap[base2] < base1)
|
||||||
newbon->RaiseSkillCap[0] = base1; // value
|
newbon->RaiseSkillCap[base2] = base1;
|
||||||
newbon->RaiseSkillCap[1] = base2; // skill
|
|
||||||
}
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1441,6 +1438,11 @@ void Mob::ApplyAABonuses(const AA::Rank &rank, StatBonuses *newbon)
|
|||||||
newbon->ReduceTradeskillFail[base2] += base1;
|
newbon->ReduceTradeskillFail[base2] += base1;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case SE_TradeSkillMastery:
|
||||||
|
if (newbon->TradeSkillMastery < base1)
|
||||||
|
newbon->TradeSkillMastery = base1;
|
||||||
|
break;
|
||||||
|
|
||||||
// to do
|
// to do
|
||||||
case SE_PetDiscipline:
|
case SE_PetDiscipline:
|
||||||
break;
|
break;
|
||||||
@ -1452,8 +1454,6 @@ void Mob::ApplyAABonuses(const AA::Rank &rank, StatBonuses *newbon)
|
|||||||
break;
|
break;
|
||||||
case SE_ForageSkill:
|
case SE_ForageSkill:
|
||||||
break;
|
break;
|
||||||
case SE_TradeSkillMastery:
|
|
||||||
break;
|
|
||||||
case SE_SecondaryForte:
|
case SE_SecondaryForte:
|
||||||
break;
|
break;
|
||||||
case SE_FeignedCastOnChance:
|
case SE_FeignedCastOnChance:
|
||||||
@ -3161,6 +3161,16 @@ void Mob::ApplySpellsBonuses(uint16 spell_id, uint8 casterlevel, StatBonuses *ne
|
|||||||
new_bonus->ReduceTradeskillFail[base2] += effect_value;
|
new_bonus->ReduceTradeskillFail[base2] += effect_value;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case SE_TradeSkillMastery:
|
||||||
|
if (new_bonus->TradeSkillMastery < effect_value)
|
||||||
|
new_bonus->TradeSkillMastery = effect_value;
|
||||||
|
break;
|
||||||
|
|
||||||
|
case SE_RaiseSkillCap:
|
||||||
|
if (new_bonus->RaiseSkillCap[base2] < effect_value)
|
||||||
|
new_bonus->RaiseSkillCap[base2] = effect_value;
|
||||||
|
break;
|
||||||
|
|
||||||
//Special custom cases for loading effects on to NPC from 'npc_spels_effects' table
|
//Special custom cases for loading effects on to NPC from 'npc_spels_effects' table
|
||||||
if (IsAISpellEffect) {
|
if (IsAISpellEffect) {
|
||||||
|
|
||||||
|
|||||||
@ -2439,18 +2439,8 @@ uint16 Client::GetMaxSkillAfterSpecializationRules(SkillUseTypes skillid, uint16
|
|||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// This should possibly be handled by bonuses rather than here.
|
|
||||||
switch(skillid)
|
Result += spellbonuses.RaiseSkillCap[skillid] + itembonuses.RaiseSkillCap[skillid] + aabonuses.RaiseSkillCap[skillid];
|
||||||
{
|
|
||||||
case SkillTracking:
|
|
||||||
{
|
|
||||||
Result += ((GetAA(aaAdvancedTracking) * 10) + (GetAA(aaTuneofPursuance) * 10));
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
return Result;
|
return Result;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -439,7 +439,7 @@ struct StatBonuses {
|
|||||||
int32 CombatStability; // Melee damage mitigation.
|
int32 CombatStability; // Melee damage mitigation.
|
||||||
int32 DoubleRiposte; // Chance to double riposte
|
int32 DoubleRiposte; // Chance to double riposte
|
||||||
int32 GiveDoubleRiposte[3]; // 0=Regular Chance, 1=Skill Attack Chance, 2=Skill
|
int32 GiveDoubleRiposte[3]; // 0=Regular Chance, 1=Skill Attack Chance, 2=Skill
|
||||||
uint32 RaiseSkillCap[2]; // Raise a specific skill cap (1 = value, 2=skill)
|
uint32 RaiseSkillCap[HIGHEST_SKILL+1]; // Raise a specific skill cap (base1= value, base2=skill)
|
||||||
int32 Ambidexterity; // Increase chance to duel wield by adding bonus 'skill'.
|
int32 Ambidexterity; // Increase chance to duel wield by adding bonus 'skill'.
|
||||||
int32 PetMaxHP; // Increase the max hp of your pet.
|
int32 PetMaxHP; // Increase the max hp of your pet.
|
||||||
int32 PetFlurry; // Chance for pet to flurry.
|
int32 PetFlurry; // Chance for pet to flurry.
|
||||||
@ -470,6 +470,7 @@ struct StatBonuses {
|
|||||||
bool ShroudofStealth; // rogue improved invisiblity
|
bool ShroudofStealth; // rogue improved invisiblity
|
||||||
uint16 ReduceFallDamage; // reduce fall damage by percent
|
uint16 ReduceFallDamage; // reduce fall damage by percent
|
||||||
int32 ReduceTradeskillFail[HIGHEST_SKILL+1]; // Reduces chance for trade skills to fail by percent.
|
int32 ReduceTradeskillFail[HIGHEST_SKILL+1]; // Reduces chance for trade skills to fail by percent.
|
||||||
|
uint8 TradeSkillMastery; // Allow number of tradeskills to exceed 200 skill.
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
|
|||||||
@ -1403,8 +1403,9 @@ bool Client::CanIncreaseTradeskill(SkillUseTypes tradeskill) {
|
|||||||
uint8 Pottery = (GetRawSkill(SkillPottery) > 200) ? 1 : 0;
|
uint8 Pottery = (GetRawSkill(SkillPottery) > 200) ? 1 : 0;
|
||||||
uint8 Tailoring = (GetRawSkill(SkillTailoring) > 200) ? 1 : 0;
|
uint8 Tailoring = (GetRawSkill(SkillTailoring) > 200) ? 1 : 0;
|
||||||
uint8 SkillTotal = Baking + Smithing + Brewing + Fletching + Jewelry + Pottery + Tailoring; //Tradeskills above 200
|
uint8 SkillTotal = Baking + Smithing + Brewing + Fletching + Jewelry + Pottery + Tailoring; //Tradeskills above 200
|
||||||
uint32 aaLevel = GetAA(aaNewTanaanCraftingMastery); //New Tanaan AA: Each level allows an additional tradeskill above 200 (first one is free)
|
//New Tanaan AA: Each level allows an additional tradeskill above 200 (first one is free)
|
||||||
|
uint8 aaLevel = spellbonuses.TradeSkillMastery + itembonuses.TradeSkillMastery + aabonuses.TradeSkillMastery;
|
||||||
|
|
||||||
switch (tradeskill) {
|
switch (tradeskill) {
|
||||||
case SkillBaking:
|
case SkillBaking:
|
||||||
case SkillBlacksmithing:
|
case SkillBlacksmithing:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user