From b3bda648c60761e3168470bbc23aa1180028bb04 Mon Sep 17 00:00:00 2001 From: WinterSolstice8 <60417494+wintersolstice8@users.noreply.github.com> Date: Thu, 22 Jan 2026 18:52:27 -0700 Subject: [PATCH] [core] [lua] Add STUN_RES_RANK --- scripts/data/status_effect_tables.lua | 2 +- scripts/enum/mod.lua | 1 + scripts/zones/FeiYin/mobs/Miser_Murphy.lua | 2 +- scripts/zones/Gustav_Tunnel/mobs/Baobhan_Sith.lua | 2 +- scripts/zones/Ordelles_Caves/mobs/Gerwitzs_Soul.lua | 2 +- src/map/modifier.h | 3 ++- 6 files changed, 7 insertions(+), 5 deletions(-) diff --git a/scripts/data/status_effect_tables.lua b/scripts/data/status_effect_tables.lua index b073348b38d..630bd631396 100644 --- a/scripts/data/status_effect_tables.lua +++ b/scripts/data/status_effect_tables.lua @@ -68,7 +68,7 @@ xi.data.statusEffect.dataTable = [xi.effect.SILENCE ] = { 1, 0, 0, 0, xi.element.WIND, xi.immunity.SILENCE, xi.mod.SILENCERES, xi.mod.SILENCE_RES_RANK, xi.mod.SILENCE_MEVA, xi.mod.SILENCE_IMMUNOBREAK }, [xi.effect.SLEEP_I ] = { 1, 0, 0, 0, xi.element.DARK, xi.immunity.DARK_SLEEP, xi.mod.SLEEPRES, xi.mod.DARK_SLEEP_RES_RANK, xi.mod.SLEEP_MEVA, xi.mod.SLEEP_IMMUNOBREAK }, [xi.effect.SLOW ] = { 1, 0, xi.effect.HASTE, 0, xi.element.EARTH, xi.immunity.SLOW, xi.mod.SLOWRES, xi.mod.SLOW_RES_RANK, xi.mod.SLOW_MEVA, xi.mod.SLOW_IMMUNOBREAK }, - [xi.effect.STUN ] = { 2, xi.effect.PETRIFICATION, 0, 0, xi.element.THUNDER, xi.immunity.STUN, xi.mod.STUNRES, 0, xi.mod.STUN_MEVA, 0 }, + [xi.effect.STUN ] = { 2, xi.effect.PETRIFICATION, 0, 0, xi.element.THUNDER, xi.immunity.STUN, xi.mod.STUNRES, xi.mod.STUN_RES_RANK, xi.mod.STUN_MEVA, 0 }, [xi.effect.TERROR ] = { 2, 0, 0, 0, 0, xi.immunity.TERROR, 0, 0, 0, 0 }, -- TODO: implement Resist Terror https://www.bg-wiki.com/ffxi/Resist_Terror, TODO: sometimes Terror has an element, but sometimes it does not. It seems it may only be player based effects? [xi.effect.THRENODY ] = { 1, 0, 0, 0, xi.element.NONE, 0, 0, 0, 0, 0 }, [xi.effect.WEIGHT ] = { 1, 0, 0, 0, xi.element.WIND, xi.immunity.GRAVITY, xi.mod.GRAVITYRES, 0, xi.mod.GRAVITY_MEVA, xi.mod.GRAVITY_IMMUNOBREAK }, diff --git a/scripts/enum/mod.lua b/scripts/enum/mod.lua index 2581c917270..795c0ba7100 100644 --- a/scripts/enum/mod.lua +++ b/scripts/enum/mod.lua @@ -69,6 +69,7 @@ xi.mod = LIGHT_SLEEP_RES_RANK = 1165, DARK_SLEEP_RES_RANK = 1166, BLIND_RES_RANK = 1167, + STUN_RES_RANK = 1186, ATT = 23, RATT = 24, diff --git a/scripts/zones/FeiYin/mobs/Miser_Murphy.lua b/scripts/zones/FeiYin/mobs/Miser_Murphy.lua index 3eec87a20e7..7e454d6a777 100644 --- a/scripts/zones/FeiYin/mobs/Miser_Murphy.lua +++ b/scripts/zones/FeiYin/mobs/Miser_Murphy.lua @@ -17,7 +17,7 @@ entity.onMobSpawn = function(mob) mob:setMod(xi.mod.PARALYZE_RES_RANK, 10) mob:setMod(xi.mod.BIND_RES_RANK, 10) mob:setMod(xi.mod.BLIND_RES_RANK, 10) - mob:setMod(xi.mod.STUN_MEVA, 10000) + mob:setMod(xi.mod.STUN_RES_RANK, 10) mob:setMod(xi.mod.DARK_RES_RANK, 10) mob:setMod(xi.mod.ICE_RES_RANK, 10) end diff --git a/scripts/zones/Gustav_Tunnel/mobs/Baobhan_Sith.lua b/scripts/zones/Gustav_Tunnel/mobs/Baobhan_Sith.lua index 2070e041522..bf46f85786d 100644 --- a/scripts/zones/Gustav_Tunnel/mobs/Baobhan_Sith.lua +++ b/scripts/zones/Gustav_Tunnel/mobs/Baobhan_Sith.lua @@ -29,7 +29,7 @@ entity.onMobSpawn = function(mob) mob:setMod(xi.mod.PARALYZE_RES_RANK, 10) mob:setMod(xi.mod.BIND_RES_RANK, 10) mob:setMod(xi.mod.BLIND_RES_RANK, 10) - mob:setMod(xi.mod.STUN_MEVA, 10000) + mob:setMod(xi.mod.STUN_RES_RANK, 10) mob:setMod(xi.mod.DARK_RES_RANK, 10) mob:setMod(xi.mod.ICE_RES_RANK, 10) end diff --git a/scripts/zones/Ordelles_Caves/mobs/Gerwitzs_Soul.lua b/scripts/zones/Ordelles_Caves/mobs/Gerwitzs_Soul.lua index 857f107a8ec..debc7ea7b30 100644 --- a/scripts/zones/Ordelles_Caves/mobs/Gerwitzs_Soul.lua +++ b/scripts/zones/Ordelles_Caves/mobs/Gerwitzs_Soul.lua @@ -22,7 +22,7 @@ entity.onMobSpawn = function(mob) mob:setMod(xi.mod.PARALYZE_RES_RANK, 10) mob:setMod(xi.mod.BIND_RES_RANK, 10) mob:setMod(xi.mod.BLIND_RES_RANK, 10) - mob:setMod(xi.mod.STUN_MEVA, 10000) + mob:setMod(xi.mod.STUN_RES_RANK, 10) mob:setMod(xi.mod.DARK_RES_RANK, 10) mob:setMod(xi.mod.ICE_RES_RANK, 10) end diff --git a/src/map/modifier.h b/src/map/modifier.h index 9dd958fc054..394d7e71d94 100644 --- a/src/map/modifier.h +++ b/src/map/modifier.h @@ -78,6 +78,7 @@ enum class Mod LIGHT_SLEEP_RES_RANK = 1165, DARK_SLEEP_RES_RANK = 1166, BLIND_RES_RANK = 1167, + STUN_RES_RANK = 1186, ATT = 23, // Attack RATT = 24, // Ranged Attack @@ -1139,7 +1140,7 @@ enum class Mod // The spares take care of finding the next ID to use so long as we don't forget to list IDs that have been freed up by refactoring. // 570 through 825 used by WS DMG mods these are not spares. // - // SPARE IDs: 1186 and onward + // SPARE IDs: 1187 and onward }; // temporary workaround for using enum class as unordered_map key until compilers support it