From b234bcfb957bb3702e6928c09983b28612103f7f Mon Sep 17 00:00:00 2001 From: blinkysc Date: Tue, 30 Dec 2025 08:12:16 -0600 Subject: [PATCH] feat: Update proc flag categories for new spell_proc system - Add procspelltype: PROC_SPELL_TYPE flags for SpellTypeMask - Add prochit: PROC_HIT flags for HitMask - Add procattr: PROC_ATTR flags for AttributesMask - Add procdisableeffects: Flags for DisableEffectsMask - Remove procex (legacy spell_proc_event table removed) - Update README with new flag categories --- README.md | 5 +++- flagcategory.js | 5 +++- flags.js | 64 +++++++++++++++++++++++++++++-------------------- 3 files changed, 46 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 23ed6bc..5363771 100644 --- a/README.md +++ b/README.md @@ -39,8 +39,11 @@ Currently supports - SpellSchoolMask - DispelMask - ProcFlag - - ProcEx + - ProcSpellType - ProcSpellPhase + - ProcHit + - ProcAttr + - ProcDisableEffects - SpellStackRules - Quest diff --git a/flagcategory.js b/flagcategory.js index ac261e9..ae8274e 100644 --- a/flagcategory.js +++ b/flagcategory.js @@ -28,8 +28,11 @@ const flagCategories = { { name: "SpellSchoolMask", value: "spellschoolmask" }, { name: "DispelMask", value: "dispelmask" }, { name: "ProcFlag", value: "procflag" }, - { name: "ProcEx", value: "procex" }, + { name: "ProcSpellType", value: "procspelltype" }, { name: "ProcSpellPhase", value: "procspellphase" }, + { name: "ProcHit", value: "prochit" }, + { name: "ProcAttr", value: "procattr" }, + { name: "ProcDisableEffects", value: "procdisableeffects" }, { name: "SpellStackRules", value: "spellstackrules" }, ], quest: [ diff --git a/flags.js b/flags.js index 1a742d7..ceb117b 100644 --- a/flags.js +++ b/flags.js @@ -586,36 +586,48 @@ const flags = { { bit: 8388608, name: "PROC_FLAG_DONE_OFFHAND_ATTACK" }, { bit: 16777216, name: "PROC_FLAG_DEATH" } ], - procex: [ - { bit: 0, name: "PROC_EX_NONE" }, - { bit: 1, name: "PROC_EX_NORMAL_HIT" }, - { bit: 2, name: "PROC_EX_CRITICAL_HIT" }, - { bit: 4, name: "PROC_EX_MISS" }, - { bit: 8, name: "PROC_EX_RESIST" }, - { bit: 16, name: "PROC_EX_DODGE" }, - { bit: 32, name: "PROC_EX_PARRY" }, - { bit: 64, name: "PROC_EX_BLOCK" }, - { bit: 128, name: "PROC_EX_EVADE" }, - { bit: 256, name: "PROC_EX_IMMUNE" }, - { bit: 512, name: "PROC_EX_DEFLECT" }, - { bit: 1024, name: "PROC_EX_ABSORB" }, - { bit: 2048, name: "PROC_EX_REFLECT" }, - { bit: 4096, name: "PROC_EX_INTERRUPT" }, - { bit: 8192, name: "PROC_EX_FULL_BLOCK" }, - { bit: 16384, name: "PROC_EX_RESERVED2" }, - { bit: 32768, name: "PROC_EX_NOT_ACTIVE_SPELL" }, - { bit: 65536, name: "PROC_EX_EX_TRIGGER_ALWAYS" }, - { bit: 131072, name: "PROC_EX_EX_ONE_TIME_TRIGGER" }, - { bit: 262144, name: "PROC_EX_ONLY_ACTIVE_SPELL" }, - { bit: 524288, name: "PROC_EX_NO_OVERHEAL" }, - { bit: 1048576, name: "PROC_EX_NO_AURA_REFRESH" }, - { bit: 2097152, name: "PROC_EX_ONLY_FIRST_TICK" } - ], procspellphase: [ { bit: 0, name: "PROC_SPELL_PHASE_NONE" }, { bit: 1, name: "PROC_SPELL_PHASE_CAST" }, { bit: 2, name: "PROC_SPELL_PHASE_HIT" }, - { bit: 4, name: "PROC_SPELL_PHASE_FINISH" } + { bit: 4, name: "PROC_SPELL_PHASE_FINISH" } + ], + procspelltype: [ + { bit: 0, name: "PROC_SPELL_TYPE_NONE" }, + { bit: 1, name: "PROC_SPELL_TYPE_DAMAGE" }, + { bit: 2, name: "PROC_SPELL_TYPE_HEAL" }, + { bit: 4, name: "PROC_SPELL_TYPE_NO_DMG_HEAL" } + ], + prochit: [ + { bit: 0, name: "PROC_HIT_NONE" }, + { bit: 1, name: "PROC_HIT_NORMAL" }, + { bit: 2, name: "PROC_HIT_CRITICAL" }, + { bit: 4, name: "PROC_HIT_MISS" }, + { bit: 8, name: "PROC_HIT_FULL_RESIST" }, + { bit: 16, name: "PROC_HIT_DODGE" }, + { bit: 32, name: "PROC_HIT_PARRY" }, + { bit: 64, name: "PROC_HIT_BLOCK" }, + { bit: 128, name: "PROC_HIT_EVADE" }, + { bit: 256, name: "PROC_HIT_IMMUNE" }, + { bit: 512, name: "PROC_HIT_DEFLECT" }, + { bit: 1024, name: "PROC_HIT_ABSORB" }, + { bit: 2048, name: "PROC_HIT_REFLECT" }, + { bit: 4096, name: "PROC_HIT_INTERRUPT" }, + { bit: 8192, name: "PROC_HIT_FULL_BLOCK" } + ], + procattr: [ + { bit: 1, name: "PROC_ATTR_REQ_EXP_OR_HONOR" }, + { bit: 2, name: "PROC_ATTR_TRIGGERED_CAN_PROC" }, + { bit: 4, name: "PROC_ATTR_REQ_MANA_COST" }, + { bit: 8, name: "PROC_ATTR_REQ_SPELLMOD" }, + { bit: 16, name: "PROC_ATTR_USE_STACKS_FOR_CHARGES" }, + { bit: 128, name: "PROC_ATTR_REDUCE_PROC_60" }, + { bit: 256, name: "PROC_ATTR_CANT_PROC_FROM_ITEM_CAST" } + ], + procdisableeffects: [ + { bit: 1, name: "DISABLE_EFFECT_0" }, + { bit: 2, name: "DISABLE_EFFECT_1" }, + { bit: 4, name: "DISABLE_EFFECT_2" } ], spellstackrules: [ { bit: 0, name: "SPELL_GROUP_STACK_RULE_DEFAULT" },