mirror of
https://github.com/EQEmu/Server.git
synced 2026-09-05 03:06:38 +00:00
[Spells] Implemented SPA 476 SE_Weapons_Stance and Live-like AA Enable/Disable Toggle (#1477)
* Work started on SPA 476 defines * bonus structure add bonus structure set up * updates spa476 updates spa476 * spell bonus now functional spell bonus working well. * major update with debug messages aa, item and spell now working * Pre clean up, effect implemented working for AA, spells, items, all checked for stacking issues. * removed debug messages removed debug messages * spdat description added spdat description added * minor fix removed debug shout removed unneeded code check. * syntax updates, minor fixes syntax updates, minor fixes * syntax fixes syntax fixes * improvements to code moved function to check at swap item. Easier to manage and more live like behavior. Required minor adjustment Still working on AA toggle. * updates to aa buy, functionalish * Syntax / Formatting * Add break / default to switch * updates * completed v2 * Major revisions Main function check moved to when items are swapped and out of when ever bonus are recalculated. AA Toggle and data structure now more accurate to live. * Update aa.cpp * debug removed * implemented SE_Buy_AA_Rank Closer to live. * Update aa.cpp broadening AA toggle to be more general use. * improved various checks aa toggle is now broadly implemented to be usable with any passive effect. Co-authored-by: Akkadius <akkadius1@gmail.com>
This commit is contained in:
+18
-2
@@ -106,6 +106,8 @@
|
||||
#define PET_BUTTON_SPELLHOLD 9
|
||||
|
||||
#define AURA_HARDCAP 2
|
||||
#define WEAPON_STANCE_TYPE_MAX 2
|
||||
|
||||
|
||||
typedef enum { //focus types
|
||||
focusSpellHaste = 1, //@Fc, SPA: 127, SE_IncreaseSpellHaste, On Caster, cast time mod pct, base: pct
|
||||
@@ -325,7 +327,7 @@ struct Buffs_Struct {
|
||||
int32 ExtraDIChance;
|
||||
int16 RootBreakChance; //Not saved to dbase
|
||||
uint32 instrument_mod;
|
||||
int16 focusproclimit_time; //timer to limit number of procs from focus effects
|
||||
int16 focusproclimit_time; //timer to limit number of procs from focus effects
|
||||
int16 focusproclimit_procamt; //amount of procs that can be cast before timer limiter is set
|
||||
bool persistant_buff;
|
||||
bool client; //True if the caster is a client
|
||||
@@ -545,7 +547,7 @@ struct StatBonuses {
|
||||
int32 DS_Mitigation_Percentage; // base = percent amt of DS mitigation. Negative value to reduce
|
||||
int32 Pet_Crit_Melee_Damage_Pct_Owner; // base = percent mod for pet critcal damage from owner
|
||||
int32 Pet_Add_Atk; // base = Pet ATK bonus from owner
|
||||
|
||||
int32 WeaponStance[WEAPON_STANCE_TYPE_MAX +1];// base = trigger spell id, base2 = 0 is 2h, 1 is shield, 2 is dual wield, [0]spid 2h, [1]spid shield, [2]spid DW
|
||||
|
||||
// AAs
|
||||
int8 Packrat; //weight reduction for items, 1 point = 10%
|
||||
@@ -682,6 +684,20 @@ struct Shielders_Struct {
|
||||
uint16 shielder_bonus;
|
||||
};
|
||||
|
||||
struct WeaponStance_Struct {
|
||||
bool enabled;
|
||||
bool spellbonus_enabled;
|
||||
bool itembonus_enabled;
|
||||
bool aabonus_enabled;
|
||||
int spellbonus_buff_spell_id;
|
||||
int itembonus_buff_spell_id;
|
||||
int aabonus_buff_spell_id;
|
||||
};
|
||||
|
||||
constexpr uint16 WEAPON_STANCE_TYPE_2H = 0;
|
||||
constexpr uint16 WEAPON_STANCE_TYPE_SHIELD = 1;
|
||||
constexpr uint16 WEAPON_STANCE_TYPE_DUAL_WIELD = 2;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint16 increment;
|
||||
|
||||
Reference in New Issue
Block a user