Skip to content

Commit

Permalink
Rework receptacles, stray agro and handle decorations
Browse files Browse the repository at this point in the history
  • Loading branch information
Xaver-DaRed committed May 17, 2024
1 parent 5b9fca5 commit de69f95
Show file tree
Hide file tree
Showing 13 changed files with 386 additions and 147 deletions.
339 changes: 283 additions & 56 deletions scripts/globals/promyvion.lua

Large diffs are not rendered by default.

18 changes: 2 additions & 16 deletions scripts/zones/Promyvion-Dem/IDs.lua
Original file line number Diff line number Diff line change
Expand Up @@ -22,22 +22,8 @@ zones[xi.zone.PROMYVION_DEM] =
},
mob =
{
MEMORY_RECEPTACLES =
{
[16850972] = { 1, 3, 16851278 },
[16851026] = { 2, 5, 16851282 },
[16851033] = { 2, 5, 16851283 },
[16851040] = { 2, 5, 16851284 },
[16851047] = { 2, 5, 16851285 },
[16851073] = { 3, 7, 16851279 },
[16851082] = { 3, 7, 16851280 },
[16851091] = { 3, 7, 16851281 },
[16851152] = { 4, 7, 16851286 },
[16851161] = { 4, 7, 16851287 },
[16851170] = { 4, 7, 16851288 },
},

SATIATOR = GetFirstID('Satiator'),
MEMORY_RECEPTACLE_TABLE = GetTableOfIDs('Memory_Receptacle'),
SATIATOR = GetFirstID('Satiator'),
},
npc =
{
Expand Down
2 changes: 1 addition & 1 deletion scripts/zones/Promyvion-Dem/Zone.lua
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ zoneObject.onInitialize = function(zone)
zone:registerTriggerArea(16, -120, 3, 160, 0, 0, 0) -- Floor 3 (North): Portal SE

-- Select portals.
xi.promyvion.initZone(zone)
xi.promyvion.setupInitialPortals(zone)

-- Update NM between Floor 3 islands.
UpdateNMSpawnPoint(ID.mob.SATIATOR)
Expand Down
26 changes: 21 additions & 5 deletions scripts/zones/Promyvion-Dem/mobs/Memory_Receptacle.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,35 @@
local entity = {}

entity.onMobInitialize = function(mob)
mob:setAutoAttackEnabled(false) -- Receptacles only use TP moves.
xi.promyvion.receptacleOnMobInitialize(mob)
end

entity.onMobSpawn = function(mob)
xi.promyvion.receptacleOnMobSpawn(mob)
end

entity.onMobRoam = function(mob)
xi.promyvion.receptacleOnMobRoam(mob)
end

entity.onMobEngage = function(mob, target)
xi.promyvion.receptacleOnMobEngage(mob)
end

entity.onMobFight = function(mob, target)
xi.promyvion.receptacleOnFight(mob, target)
xi.promyvion.receptacleOnMobFight(mob, target)
end

entity.onMobWeaponSkill = function(target, mob, skill)
xi.promyvion.receptacleOnMobWeaponSkill(mob)
end

entity.onMobDeath = function(mob, player, optParams)
xi.promyvion.receptacleOnDeath(mob, optParams)
xi.promyvion.receptacleOnMobDeath(mob, optParams)
end

entity.onMobSpawn = function(mob)
mob:addMod(xi.mod.DEF, 55)
entity.onMobDespawn = function(mob)
xi.promyvion.receptacleOnMobDespawn(mob)
end

return entity
18 changes: 2 additions & 16 deletions scripts/zones/Promyvion-Holla/IDs.lua
Original file line number Diff line number Diff line change
Expand Up @@ -22,22 +22,8 @@ zones[xi.zone.PROMYVION_HOLLA] =
},
mob =
{
MEMORY_RECEPTACLES =
{
[16842781] = { 1, 3, 16843061 },
[16842841] = { 2, 5, 16843057 },
[16842848] = { 2, 5, 16843058 },
[16842855] = { 2, 5, 16843059 },
[16842862] = { 2, 5, 16843060 },
[16842888] = { 3, 7, 16843054 },
[16842897] = { 3, 7, 16843055 },
[16842906] = { 3, 7, 16843056 },
[16842940] = { 4, 7, 16843062 },
[16842949] = { 4, 7, 16843063 },
[16842958] = { 4, 7, 16843064 },
},

CEREBRATOR = GetFirstID('Cerebrator'),
MEMORY_RECEPTACLE_TABLE = GetTableOfIDs('Memory_Receptacle'),
CEREBRATOR = GetFirstID('Cerebrator'),
},
npc =
{
Expand Down
2 changes: 1 addition & 1 deletion scripts/zones/Promyvion-Holla/Zone.lua
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ zoneObject.onInitialize = function(zone)
zone:registerTriggerArea(16, 280, 3, 200, 0, 0, 0) -- Floor 3 (East): Portal SE

-- Select portals.
xi.promyvion.initZone(zone)
xi.promyvion.setupInitialPortals(zone)

-- Update NM between Floor 3 islands.
UpdateNMSpawnPoint(ID.mob.CEREBRATOR)
Expand Down
26 changes: 21 additions & 5 deletions scripts/zones/Promyvion-Holla/mobs/Memory_Receptacle.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,35 @@
local entity = {}

entity.onMobInitialize = function(mob)
mob:setAutoAttackEnabled(false) -- Receptacles only use TP moves.
xi.promyvion.receptacleOnMobInitialize(mob)
end

entity.onMobSpawn = function(mob)
xi.promyvion.receptacleOnMobSpawn(mob)
end

entity.onMobRoam = function(mob)
xi.promyvion.receptacleOnMobRoam(mob)
end

entity.onMobEngage = function(mob, target)
xi.promyvion.receptacleOnMobEngage(mob)
end

entity.onMobFight = function(mob, target)
xi.promyvion.receptacleOnFight(mob, target)
xi.promyvion.receptacleOnMobFight(mob, target)
end

entity.onMobWeaponSkill = function(target, mob, skill)
xi.promyvion.receptacleOnMobWeaponSkill(mob)
end

entity.onMobDeath = function(mob, player, optParams)
xi.promyvion.receptacleOnDeath(mob, optParams)
xi.promyvion.receptacleOnMobDeath(mob, optParams)
end

entity.onMobSpawn = function(mob)
mob:addMod(xi.mod.DEF, 55)
entity.onMobDespawn = function(mob)
xi.promyvion.receptacleOnMobDespawn(mob)
end

return entity
18 changes: 2 additions & 16 deletions scripts/zones/Promyvion-Mea/IDs.lua
Original file line number Diff line number Diff line change
Expand Up @@ -22,22 +22,8 @@ zones[xi.zone.PROMYVION_MEA] =
},
mob =
{
MEMORY_RECEPTACLES =
{
[16859155] = { 1, 3, 16859483 },
[16859205] = { 2, 5, 16859486 },
[16859212] = { 2, 5, 16859490 },
[16859219] = { 2, 5, 16859491 },
[16859226] = { 2, 5, 16859492 },
[16859296] = { 3, 7, 16859484 },
[16859305] = { 3, 7, 16859485 },
[16859314] = { 3, 7, 16859487 },
[16859376] = { 4, 7, 16859488 },
[16859385] = { 4, 7, 16859489 },
[16859394] = { 4, 7, 16859493 },
},

COVETER = GetFirstID('Coveter'),
MEMORY_RECEPTACLE_TABLE = GetTableOfIDs('Memory_Receptacle'),
COVETER = GetFirstID('Coveter'),
},
npc =
{
Expand Down
2 changes: 1 addition & 1 deletion scripts/zones/Promyvion-Mea/Zone.lua
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ zoneObject.onInitialize = function(zone)
zone:registerTriggerArea(16, 240, 3, -320, 0, 0, 0) -- Floor 3 (East): Portal SW

-- Select portals.
xi.promyvion.initZone(zone)
xi.promyvion.setupInitialPortals(zone)

-- Update NM between Floor 3 islands.
UpdateNMSpawnPoint(ID.mob.COVETER)
Expand Down
26 changes: 21 additions & 5 deletions scripts/zones/Promyvion-Mea/mobs/Memory_Receptacle.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,35 @@
local entity = {}

entity.onMobInitialize = function(mob)
mob:setAutoAttackEnabled(false) -- Receptacles only use TP moves.
xi.promyvion.receptacleOnMobInitialize(mob)
end

entity.onMobSpawn = function(mob)
xi.promyvion.receptacleOnMobSpawn(mob)
end

entity.onMobRoam = function(mob)
xi.promyvion.receptacleOnMobRoam(mob)
end

entity.onMobEngage = function(mob, target)
xi.promyvion.receptacleOnMobEngage(mob)
end

entity.onMobFight = function(mob, target)
xi.promyvion.receptacleOnFight(mob, target)
xi.promyvion.receptacleOnMobFight(mob, target)
end

entity.onMobWeaponSkill = function(target, mob, skill)
xi.promyvion.receptacleOnMobWeaponSkill(mob)
end

entity.onMobDeath = function(mob, player, optParams)
xi.promyvion.receptacleOnDeath(mob, optParams)
xi.promyvion.receptacleOnMobDeath(mob, optParams)
end

entity.onMobSpawn = function(mob)
mob:addMod(xi.mod.DEF, 55)
entity.onMobDespawn = function(mob)
xi.promyvion.receptacleOnMobDespawn(mob)
end

return entity
28 changes: 7 additions & 21 deletions scripts/zones/Promyvion-Vahzl/IDs.lua
Original file line number Diff line number Diff line change
Expand Up @@ -26,27 +26,13 @@ zones[xi.zone.PROMYVION_VAHZL] =
},
mob =
{
MEMORY_RECEPTACLES =
{
[16867387] = { 1, 3, 16867720 },
[16867392] = { 1, 3, 16867721 },
[16867439] = { 2, 5, 16867718 },
[16867446] = { 2, 5, 16867719 },
[16867504] = { 3, 5, 16867723 },
[16867511] = { 3, 5, 16867724 },
[16867518] = { 3, 5, 16867725 },
[16867525] = { 3, 5, 16867726 },
[16867601] = { 4, 7, 16867722 },
[16867610] = { 4, 7, 16867727 },
[16867619] = { 4, 7, 16867728 },
},

PONDERER = GetFirstID('Ponderer'),
PROPAGATOR = GetFirstID('Propagator'),
SOLICITOR = GetFirstID('Solicitor'),
DEVIATOR = GetFirstID('Deviator'),
WAILER = GetFirstID('Wailer'),
PROVOKER = GetFirstID('Provoker'),
MEMORY_RECEPTACLE_TABLE = GetTableOfIDs('Memory_Receptacle'),
PONDERER = GetFirstID('Ponderer'),
PROPAGATOR = GetFirstID('Propagator'),
SOLICITOR = GetFirstID('Solicitor'),
DEVIATOR = GetFirstID('Deviator'),
WAILER = GetFirstID('Wailer'),
PROVOKER = GetFirstID('Provoker'),
},
npc =
{
Expand Down
2 changes: 1 addition & 1 deletion scripts/zones/Promyvion-Vahzl/Zone.lua
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ zoneObject.onInitialize = function(zone)
zone:registerTriggerArea(16, 440, 3, 279, 0, 0, 0) -- Floor 4: Portal NE

-- Select portals.
xi.promyvion.initZone(zone)
xi.promyvion.setupInitialPortals(zone)
end

zoneObject.onZoneIn = function(player, prevZone)
Expand Down
26 changes: 23 additions & 3 deletions scripts/zones/Promyvion-Vahzl/mobs/Memory_Receptacle.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,35 @@
local entity = {}

entity.onMobInitialize = function(mob)
mob:setAutoAttackEnabled(false) -- Receptacles only use TP moves.
xi.promyvion.receptacleOnMobInitialize(mob)
end

entity.onMobSpawn = function(mob)
xi.promyvion.receptacleOnMobSpawn(mob)
end

entity.onMobRoam = function(mob)
xi.promyvion.receptacleOnMobRoam(mob)
end

entity.onMobEngage = function(mob, target)
xi.promyvion.receptacleOnMobEngage(mob)
end

entity.onMobFight = function(mob, target)
xi.promyvion.receptacleOnFight(mob, target)
xi.promyvion.receptacleOnMobFight(mob, target)
end

entity.onMobWeaponSkill = function(target, mob, skill)
xi.promyvion.receptacleOnMobWeaponSkill(mob)
end

entity.onMobDeath = function(mob, player, optParams)
xi.promyvion.receptacleOnDeath(mob, optParams)
xi.promyvion.receptacleOnMobDeath(mob, optParams)
end

entity.onMobDespawn = function(mob)
xi.promyvion.receptacleOnMobDespawn(mob)
end

return entity

0 comments on commit de69f95

Please sign in to comment.