From 67de0642eebefab266d16d53a2345a5557014602 Mon Sep 17 00:00:00 2001 From: WinterSolstice8 <60417494+wintersolstice8@users.noreply.github.com> Date: Tue, 11 Mar 2025 18:51:56 -0600 Subject: [PATCH 1/2] [lua] Check if you have the indicolure spell before learning geo --- scripts/globals/geomantic_reservoir.lua | 47 ++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/scripts/globals/geomantic_reservoir.lua b/scripts/globals/geomantic_reservoir.lua index 1f307ef2a3b..059456de426 100644 --- a/scripts/globals/geomantic_reservoir.lua +++ b/scripts/globals/geomantic_reservoir.lua @@ -42,11 +42,56 @@ local geoSpellTable = [xi.magic.spell.GEO_FADE ] = { xi.item.GEO_FADE }, } +-- need to check if you have the indi spell before learning the geo spell +-- https://www.bg-wiki.com/ffxi/Geomantic_Reservoir +local indiSpellMap = +{ + [xi.magic.spell.GEO_POISON ] = xi.magic.spell.INDI_POISON, + [xi.magic.spell.GEO_VOIDANCE ] = xi.magic.spell.INDI_VOIDANCE, + [xi.magic.spell.GEO_PRECISION ] = xi.magic.spell.INDI_PRECISION, + [xi.magic.spell.GEO_REGEN ] = xi.magic.spell.INDI_REGEN, + [xi.magic.spell.GEO_ATTUNEMENT] = xi.magic.spell.INDI_ATTUNEMENT, + [xi.magic.spell.GEO_FOCUS ] = xi.magic.spell.INDI_FOCUS, + [xi.magic.spell.GEO_BARRIER ] = xi.magic.spell.INDI_BARRIER, + [xi.magic.spell.GEO_REFRESH ] = xi.magic.spell.INDI_REFRESH, + [xi.magic.spell.GEO_CHR ] = xi.magic.spell.INDI_CHR, + [xi.magic.spell.GEO_MND ] = xi.magic.spell.INDI_MND, + [xi.magic.spell.GEO_FURY ] = xi.magic.spell.INDI_FURY, + [xi.magic.spell.GEO_INT ] = xi.magic.spell.INDI_INT, + [xi.magic.spell.GEO_AGI ] = xi.magic.spell.INDI_AGI, + [xi.magic.spell.GEO_POISON ] = xi.magic.spell.INDI_POISON, + [xi.magic.spell.GEO_FEND ] = xi.magic.spell.INDI_FEND, + [xi.magic.spell.GEO_VIT ] = xi.magic.spell.INDI_VIT, + [xi.magic.spell.GEO_DEX ] = xi.magic.spell.INDI_DEX, + [xi.magic.spell.GEO_ACUMEN ] = xi.magic.spell.INDI_ACUMEN, + [xi.magic.spell.GEO_STR ] = xi.magic.spell.INDI_STR, + [xi.magic.spell.GEO_SLOW ] = xi.magic.spell.INDI_SLOW, + [xi.magic.spell.GEO_TORPOR ] = xi.magic.spell.INDI_TORPOR, + [xi.magic.spell.GEO_SLIP ] = xi.magic.spell.INDI_SLIP, + [xi.magic.spell.GEO_LANGUOR ] = xi.magic.spell.INDI_LANGUOR, + [xi.magic.spell.GEO_PARALYSIS ] = xi.magic.spell.INDI_PARALYSIS, + [xi.magic.spell.GEO_VEX ] = xi.magic.spell.INDI_VEX, + [xi.magic.spell.GEO_FRAILTY ] = xi.magic.spell.INDI_FRAILTY, + [xi.magic.spell.GEO_WILT ] = xi.magic.spell.INDI_WILT, + [xi.magic.spell.GEO_MALAISE ] = xi.magic.spell.INDI_MALAISE, + [xi.magic.spell.GEO_GRAVITY ] = xi.magic.spell.INDI_GRAVITY, + [xi.magic.spell.GEO_HASTE ] = xi.magic.spell.INDI_HASTE, + [xi.magic.spell.GEO_FADE ] = xi.magic.spell.INDI_FADE, +} + xi.geomanticReservoir.onTrigger = function(player, npc, geoSpell) -- TODO: According to BG-Wiki there is a sequence here that a player can proc '!!' and achieve a Geomancy skill-up. + -- TODO: is there different messaging if you don't know the indi spell vs already having the geo spell? -- https://www.bg-wiki.com/ffxi/Geomantic_Reservoir local procEffectTime = math.random(230, 300) - if player:getMainJob() == xi.job.GEO and not player:hasSpell(geoSpell) then + local indiSpell = indiSpellMap[geoSpell] + + if + player:getMainJob() == xi.job.GEO and + not player:hasSpell(geoSpell) and + indiSpell and + player:hasSpell(indiSpell) + then player:startEvent(15000, procEffectTime) -- TODO add skillup logic if player clicks at the time the proc happens else From 453bfee3aae1f051da7a54388f4e9c25e0809301 Mon Sep 17 00:00:00 2001 From: WinterSolstice8 <60417494+wintersolstice8@users.noreply.github.com> Date: Tue, 11 Mar 2025 19:01:28 -0600 Subject: [PATCH 2/2] [lua] Add missing NOTHING_OUT_OF_ORDINARY IDs for GEO spell learning --- scripts/zones/Ceizak_Battlegrounds/IDs.lua | 1 + scripts/zones/Crawlers_Nest/IDs.lua | 1 + scripts/zones/La_Theine_Plateau/IDs.lua | 1 + scripts/zones/Lower_Delkfutts_Tower/IDs.lua | 1 + scripts/zones/Marjami_Ravine/IDs.lua | 1 + scripts/zones/Morimar_Basalt_Fields/IDs.lua | 1 + scripts/zones/Rolanberry_Fields/IDs.lua | 1 + scripts/zones/Upper_Delkfutts_Tower/IDs.lua | 1 + scripts/zones/Yahse_Hunting_Grounds/IDs.lua | 1 + 9 files changed, 9 insertions(+) diff --git a/scripts/zones/Ceizak_Battlegrounds/IDs.lua b/scripts/zones/Ceizak_Battlegrounds/IDs.lua index acfd7dca428..1eb99d464e7 100644 --- a/scripts/zones/Ceizak_Battlegrounds/IDs.lua +++ b/scripts/zones/Ceizak_Battlegrounds/IDs.lua @@ -12,6 +12,7 @@ zones[xi.zone.CEIZAK_BATTLEGROUNDS] = GIL_OBTAINED = 6392, -- Obtained gil. KEYITEM_OBTAINED = 6394, -- Obtained key item: . KEYITEM_LOST = 6395, -- Lost key item: . + NOTHING_OUT_OF_ORDINARY = 6405, -- There is nothing out of the ordinary here. CARRIED_OVER_POINTS = 7002, -- You have carried over login point[/s]. LOGIN_CAMPAIGN_UNDERWAY = 7003, -- The [/January/February/March/April/May/June/July/August/September/October/November/December] Login Campaign is currently underway! LOGIN_NUMBER = 7004, -- In celebration of your most recent login (login no. ), we have provided you with points! You currently have a total of points. diff --git a/scripts/zones/Crawlers_Nest/IDs.lua b/scripts/zones/Crawlers_Nest/IDs.lua index c8c969d6e43..da124b0f604 100644 --- a/scripts/zones/Crawlers_Nest/IDs.lua +++ b/scripts/zones/Crawlers_Nest/IDs.lua @@ -15,6 +15,7 @@ zones[xi.zone.CRAWLERS_NEST] = ITEM_OBTAINED = 6581, -- Obtained: . GIL_OBTAINED = 6582, -- Obtained gil. KEYITEM_OBTAINED = 6584, -- Obtained key item: . + NOTHING_OUT_OF_ORDINARY = 6595, -- There is nothing out of the ordinary here. SENSE_OF_FOREBODING = 6596, -- You are suddenly overcome with a sense of foreboding... FELLOW_MESSAGE_OFFSET = 6610, -- I'm ready. I suppose. CARRIED_OVER_POINTS = 7192, -- You have carried over login point[/s]. diff --git a/scripts/zones/La_Theine_Plateau/IDs.lua b/scripts/zones/La_Theine_Plateau/IDs.lua index 8515609d1c6..d8d5cbd5efe 100644 --- a/scripts/zones/La_Theine_Plateau/IDs.lua +++ b/scripts/zones/La_Theine_Plateau/IDs.lua @@ -13,6 +13,7 @@ zones[xi.zone.LA_THEINE_PLATEAU] = GIL_OBTAINED = 6392, -- Obtained gil. KEYITEM_OBTAINED = 6394, -- Obtained key item: . FELLOW_MESSAGE_OFFSET = 6420, -- I'm ready. I suppose. + NOTHING_OUT_OF_ORDINARY = 6405, -- There is nothing out of the ordinary here. CARRIED_OVER_POINTS = 7002, -- You have carried over login point[/s]. LOGIN_CAMPAIGN_UNDERWAY = 7003, -- The [/January/February/March/April/May/June/July/August/September/October/November/December] Login Campaign is currently underway! LOGIN_NUMBER = 7004, -- In celebration of your most recent login (login no. ), we have provided you with points! You currently have a total of points. diff --git a/scripts/zones/Lower_Delkfutts_Tower/IDs.lua b/scripts/zones/Lower_Delkfutts_Tower/IDs.lua index bb749c79934..1c8965d7282 100644 --- a/scripts/zones/Lower_Delkfutts_Tower/IDs.lua +++ b/scripts/zones/Lower_Delkfutts_Tower/IDs.lua @@ -14,6 +14,7 @@ zones[xi.zone.LOWER_DELKFUTTS_TOWER] = ITEM_OBTAINED = 6580, -- Obtained: . GIL_OBTAINED = 6581, -- Obtained gil. KEYITEM_OBTAINED = 6583, -- Obtained key item: . + NOTHING_OUT_OF_ORDINARY = 6594, -- There is nothing out of the ordinary here. FELLOW_MESSAGE_OFFSET = 6609, -- I'm ready. I suppose. CARRIED_OVER_POINTS = 7191, -- You have carried over login point[/s]. LOGIN_CAMPAIGN_UNDERWAY = 7192, -- The [/January/February/March/April/May/June/July/August/September/October/November/December] Login Campaign is currently underway! diff --git a/scripts/zones/Marjami_Ravine/IDs.lua b/scripts/zones/Marjami_Ravine/IDs.lua index 8e9432b77e1..8fd91cf5e1f 100644 --- a/scripts/zones/Marjami_Ravine/IDs.lua +++ b/scripts/zones/Marjami_Ravine/IDs.lua @@ -12,6 +12,7 @@ zones[xi.zone.MARJAMI_RAVINE] = GIL_OBTAINED = 6392, -- Obtained gil. KEYITEM_OBTAINED = 6394, -- Obtained key item: . KEYITEM_LOST = 6395, -- Lost key item: . + NOTHING_OUT_OF_ORDINARY = 6405, -- There is nothing out of the ordinary here. CARRIED_OVER_POINTS = 7002, -- You have carried over login point[/s]. LOGIN_CAMPAIGN_UNDERWAY = 7003, -- The [/January/February/March/April/May/June/July/August/September/October/November/December] Login Campaign is currently underway! LOGIN_NUMBER = 7004, -- In celebration of your most recent login (login no. ), we have provided you with points! You currently have a total of points. diff --git a/scripts/zones/Morimar_Basalt_Fields/IDs.lua b/scripts/zones/Morimar_Basalt_Fields/IDs.lua index d5876b228c9..cab6672d6bd 100644 --- a/scripts/zones/Morimar_Basalt_Fields/IDs.lua +++ b/scripts/zones/Morimar_Basalt_Fields/IDs.lua @@ -11,6 +11,7 @@ zones[xi.zone.MORIMAR_BASALT_FIELDS] = ITEM_OBTAINED = 6391, -- Obtained: . GIL_OBTAINED = 6392, -- Obtained gil. KEYITEM_OBTAINED = 6394, -- Obtained key item: . + NOTHING_OUT_OF_ORDINARY = 6405, -- There is nothing out of the ordinary here. CARRIED_OVER_POINTS = 7002, -- You have carried over login point[/s]. LOGIN_CAMPAIGN_UNDERWAY = 7003, -- The [/January/February/March/April/May/June/July/August/September/October/November/December] Login Campaign is currently underway! LOGIN_NUMBER = 7004, -- In celebration of your most recent login (login no. ), we have provided you with points! You currently have a total of points. diff --git a/scripts/zones/Rolanberry_Fields/IDs.lua b/scripts/zones/Rolanberry_Fields/IDs.lua index 66f0eb89a0b..87e23c8e4c2 100644 --- a/scripts/zones/Rolanberry_Fields/IDs.lua +++ b/scripts/zones/Rolanberry_Fields/IDs.lua @@ -14,6 +14,7 @@ zones[xi.zone.ROLANBERRY_FIELDS] = KEYITEM_OBTAINED = 6416, -- Obtained key item: . NOT_ENOUGH_GIL = 6418, -- You do not have enough gil. FELLOW_MESSAGE_OFFSET = 6442, -- I'm ready. I suppose. + NOTHING_OUT_OF_ORDINARY = 6427, -- There is nothing out of the ordinary here. CARRIED_OVER_POINTS = 7024, -- You have carried over login point[/s]. LOGIN_CAMPAIGN_UNDERWAY = 7025, -- The [/January/February/March/April/May/June/July/August/September/October/November/December] Login Campaign is currently underway! LOGIN_NUMBER = 7026, -- In celebration of your most recent login (login no. ), we have provided you with points! You currently have a total of points. diff --git a/scripts/zones/Upper_Delkfutts_Tower/IDs.lua b/scripts/zones/Upper_Delkfutts_Tower/IDs.lua index 14e4ba22543..dc942ed2283 100644 --- a/scripts/zones/Upper_Delkfutts_Tower/IDs.lua +++ b/scripts/zones/Upper_Delkfutts_Tower/IDs.lua @@ -8,6 +8,7 @@ zones[xi.zone.UPPER_DELKFUTTS_TOWER] = text = { THIS_ELEVATOR_GOES_DOWN = 25, -- This elevator goes down, but it is locked. Perhaps a key is needed to activate it. + NOTHING_OUT_OF_ORDINARY = 6440, -- There is nothing out of the ordinary here. ITEM_CANNOT_BE_OBTAINED = 6420, -- You cannot obtain the . Come back after sorting your inventory. ITEM_OBTAINED = 6426, -- Obtained: . GIL_OBTAINED = 6427, -- Obtained gil. diff --git a/scripts/zones/Yahse_Hunting_Grounds/IDs.lua b/scripts/zones/Yahse_Hunting_Grounds/IDs.lua index fab899b30d5..ef3e80d8d1e 100644 --- a/scripts/zones/Yahse_Hunting_Grounds/IDs.lua +++ b/scripts/zones/Yahse_Hunting_Grounds/IDs.lua @@ -11,6 +11,7 @@ zones[xi.zone.YAHSE_HUNTING_GROUNDS] = ITEM_OBTAINED = 6391, -- Obtained: . GIL_OBTAINED = 6392, -- Obtained gil. KEYITEM_OBTAINED = 6394, -- Obtained key item: . + NOTHING_OUT_OF_ORDINARY = 6405, -- There is nothing out of the ordinary here. CARRIED_OVER_POINTS = 7002, -- You have carried over login point[/s]. LOGIN_CAMPAIGN_UNDERWAY = 7003, -- The [/January/February/March/April/May/June/July/August/September/October/November/December] Login Campaign is currently underway! LOGIN_NUMBER = 7004, -- In celebration of your most recent login (login no. ), we have provided you with points! You currently have a total of points.