From 121af489c4c094fc5c6056f48f145bdae4a44dae Mon Sep 17 00:00:00 2001 From: "Michael Cook (mackal)" Date: Sat, 13 Jun 2015 17:53:21 -0400 Subject: [PATCH] Support for Eyes Wide Open This probably needs testing on older clients ... --- common/spdat.h | 2 +- zone/bonuses.cpp | 6 ++++++ zone/common.h | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) diff --git a/common/spdat.h b/common/spdat.h index a0c74c16a..24e982aee 100644 --- a/common/spdat.h +++ b/common/spdat.h @@ -579,7 +579,7 @@ typedef enum { #define SE_LimitUseType 423 // implemented - limit a focus to require a certain numhits type #define SE_GravityEffect 424 // implemented - Pulls/pushes you toward/away the mob at a set pace //#define SE_Display 425 // *not implemented - Illusion: Flying Dragon(21626) -//#define SE_IncreaseExtTargetWindow 426 // *not implmented[AA] - increases the capacity of your extended target window +#define SE_IncreaseExtTargetWindow 426 // *not implmented[AA] - increases the capacity of your extended target window #define SE_SkillProc 427 // implemented - chance to proc when using a skill(ie taunt) #define SE_LimitToSkill 428 // implemented - limits what skills will effect a skill proc #define SE_SkillProcSuccess 429 // implemented - chance to proc when tje skill in use successfully fires. diff --git a/zone/bonuses.cpp b/zone/bonuses.cpp index 8e7b56721..b0c48f205 100644 --- a/zone/bonuses.cpp +++ b/zone/bonuses.cpp @@ -113,6 +113,9 @@ void Client::CalcBonuses() rooted = FindType(SE_Root); XPRate = 100 + spellbonuses.XPRateMod; + + if (GetMaxXTargets() != 5 + aabonuses.extra_xtargets) + SetMaxXTargets(5 + aabonuses.extra_xtargets); } int Client::CalcRecommendedLevelBonus(uint8 level, uint8 reclevel, int basestat) @@ -1389,6 +1392,9 @@ void Client::ApplyAABonuses(const AA::Rank &rank, StatBonuses *newbon) case SE_ATK: newbon->ATK += base1; break; + case SE_IncreaseExtTargetWindow: + newbon->extra_xtargets += base1; + break; // to do case SE_PetDiscipline: break; diff --git a/zone/common.h b/zone/common.h index e658a352d..d21a0039d 100644 --- a/zone/common.h +++ b/zone/common.h @@ -461,6 +461,7 @@ struct StatBonuses { uint8 AssassinateLevel; // Max Level Assassinate will be effective at. int32 PetMeleeMitigation; // Add AC to owner's pet. bool IllusionPersistence; // Causes illusions not to fade. + uint16 extra_xtargets; // extra xtarget entries }; typedef struct