From e14ed93d88f416893dc5f33ef344731364026f39 Mon Sep 17 00:00:00 2001 From: hookstar Date: Sat, 2 May 2020 16:06:08 -0400 Subject: [PATCH 1/5] Impliment Ziphus spawn Updated to Topaz from @Wiggo DSP contribution a few years ago. --- scripts/zones/Misareaux_Coast/IDs.lua | 6 +++ scripts/zones/Misareaux_Coast/Zone.lua | 41 ++++++++++---- scripts/zones/Misareaux_Coast/npcs/qm2.lua | 63 ++++++++++++++++++++++ scripts/zones/Misareaux_Coast/npcs/qm3.lua | 63 ++++++++++++++++++++++ scripts/zones/Misareaux_Coast/npcs/qm4.lua | 53 ++++++++++++++++++ scripts/zones/Misareaux_Coast/npcs/qm5.lua | 53 ++++++++++++++++++ scripts/zones/Misareaux_Coast/npcs/qm6.lua | 53 ++++++++++++++++++ scripts/zones/Misareaux_Coast/npcs/qm7.lua | 53 ++++++++++++++++++ 8 files changed, 375 insertions(+), 10 deletions(-) create mode 100644 scripts/zones/Misareaux_Coast/npcs/qm2.lua create mode 100644 scripts/zones/Misareaux_Coast/npcs/qm3.lua create mode 100644 scripts/zones/Misareaux_Coast/npcs/qm4.lua create mode 100644 scripts/zones/Misareaux_Coast/npcs/qm5.lua create mode 100644 scripts/zones/Misareaux_Coast/npcs/qm6.lua create mode 100644 scripts/zones/Misareaux_Coast/npcs/qm7.lua diff --git a/scripts/zones/Misareaux_Coast/IDs.lua b/scripts/zones/Misareaux_Coast/IDs.lua index f2fc66bb150..7e795f61c62 100644 --- a/scripts/zones/Misareaux_Coast/IDs.lua +++ b/scripts/zones/Misareaux_Coast/IDs.lua @@ -20,6 +20,10 @@ zones[tpz.zone.MISAREAUX_COAST] = CONQUEST_BASE = 7171, -- Tallying conquest results... DOOR_CLOSED = 7347, -- The door is locked tight. LOGGING_IS_POSSIBLE_HERE = 7601, -- Logging is possible here if you have . + NOTHING_HERE_YET = 7660; -- There is nothing here yet. Check again in the morning. + APPEARS_TO_BE_TRAP = 7662; -- There appears to be some kind of trap here. Bits of fish are lying around the area. + DID_NOT_CATCH_ANYTHING = 7663; -- You did not catch anything. + PUT_IN_TRAP = 7664; -- You put in the trap. COMMON_SENSE_SURVIVAL = 8635, -- It appears that you have arrived at a new survival guide provided by the Adventurers' Mutual Aid Network. Common sense dictates that you should now be able to teleport here from similar tomes throughout the world. HOMEPOINT_SET = 8858, -- Home point set! }, @@ -32,6 +36,8 @@ zones[tpz.zone.MISAREAUX_COAST] = PM6_2_MOB_OFFSET = 16879893, BOGGELMANN = 16879897, GRATION = 16879899, + ZIPHIUS = 16879900, + ZIPHIUS_QM_BASE = 16879919, }, npc = { diff --git a/scripts/zones/Misareaux_Coast/Zone.lua b/scripts/zones/Misareaux_Coast/Zone.lua index bbcc828c7dd..ab22d9a1b48 100644 --- a/scripts/zones/Misareaux_Coast/Zone.lua +++ b/scripts/zones/Misareaux_Coast/Zone.lua @@ -3,32 +3,53 @@ -- Zone: Misareaux_Coast (25) -- ----------------------------------- -local ID = require("scripts/zones/Misareaux_Coast/IDs") require("scripts/globals/conquest") require("scripts/globals/helm") +require("scripts/zones/Misareaux_Coast/IDs") ----------------------------------- function onInitialize(zone) tpz.helm.initZone(zone, tpz.helm.type.LOGGING) -end; +end function onConquestUpdate(zone, updatetype) tpz.conq.onConquestUpdate(zone, updatetype) -end; +end function onZoneIn(player,prevZone) - local cs = -1; + local cs = -1 if (player:getXPos() == 0 and player:getYPos() == 0 and player:getZPos() == 0) then - player:setPos(567.624,-20,280.775,120); + player:setPos(567.624,-20,280.775,120) end - return cs; -end; + return cs +end function onRegionEnter(player,region) -end; +end + +function onGameHour(zone) + local baited = GetServerVariable("[Ziphius]Bait Trap") + local ZIPHIUS_QM_BASE = 16879919 + if (VanadielHour() == 22) then -- Spawn traps for Ziphius + for i = ZIPHIUS_QM_BASE, ZIPHIUS_QM_BASE+5, 1 do + GetNPCByID(i):setStatus(tpz.status.NORMAL) + end + elseif (VanadielHour() == 7) then -- Despawn traps for Ziphius + for i = ZIPHIUS_QM_BASE, ZIPHIUS_QM_BASE+5, 1 do + GetNPCByID(i):setStatus(tpz.status.DISAPPEAR) + end + SetServerVariable("[Ziphius]Bait Trap", 0) + elseif (VanadielHour() == 4) then -- Despawn non-baited traps + for i = ZIPHIUS_QM_BASE, ZIPHIUS_QM_BASE+5, 1 do + if (bit.band(baited, bit.lshift(1, (i - ZIPHIUS_QM_BASE))) == 0) then + GetNPCByID(i):setStatus(tpz.status.DISAPPEAR) + end + end + end +end function onEventUpdate(player,csid,option) -end; +end function onEventFinish(player,csid,option) -end; +end diff --git a/scripts/zones/Misareaux_Coast/npcs/qm2.lua b/scripts/zones/Misareaux_Coast/npcs/qm2.lua new file mode 100644 index 00000000000..b221daa45e6 --- /dev/null +++ b/scripts/zones/Misareaux_Coast/npcs/qm2.lua @@ -0,0 +1,63 @@ +----------------------------------- +-- Area: Misareaux_Coast +-- NPC: ??? (Spawn Ziphius) +-- !pos 76 -16 534 25 +----------------------------------- + +require("scripts/globals/npc_util") +local ID = require("scripts/zones/Misareaux_Coast/IDs") +local ZIPHIUS_QM_BASE = 16879919 +local ZIPHIUS = 16879900 +function onTrade(player,npc,trade) + local baited = GetServerVariable("[Ziphius]Bait Trap") + + -- Trade Slice of Carp + if (npcUtil.tradeHas(trade, 16994) and bit.band(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) == 0) then + baited = bit.bor(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) + player:tradeComplete() + player:messageSpecial(ID.text.PUT_IN_TRAP, 16994) + SetServerVariable("[Ziphius]Bait Trap", baited) + else + player:messageSpecial(ID.text.NOTHING_HERE_YET) + end +end + +function onTrigger(player,npc) + local baited = GetServerVariable("[Ziphius]Bait Trap") + + if (VanadielHour() >= 22 or VanadielHour() < 4) then + if (bit.band(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) == 0) then + player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) + else + player:messageSpecial(ID.text.NOTHING_HERE_YET) + end + elseif (VanadielHour() >= 4 and VanadielHour() < 7) then + if (bit.band(baited, bit.lshift(1, 6)) == 0) then + if (math.random(1,1000) <= 176) then + SpawnMob(ZIPHIUS):updateClaim(player) + GetMobByID(ZIPHIUS):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()-1) + npc:setStatus(tpz.status.DISAPPEAR) + for i = 6, 11, 1 do + baited = bit.bor(baited, bit.lshift(1, i)) + SetServerVariable("[Ziphius]Bait Trap", baited) + end + else + player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) + end + baited = bit.bor(baited, bit.lshift(1, 6)) + SetServerVariable("[Ziphius]Bait Trap", baited) + else + player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) + end + end +end + +function onEventUpdate(player,csid,option) + -- printf("CSID: %u",csid) + -- printf("RESULT: %u",option) +end + +function onEventFinish(player,csid,option) + -- printf("CSID: %u",csid) + -- printf("RESULT: %u",option) +end \ No newline at end of file diff --git a/scripts/zones/Misareaux_Coast/npcs/qm3.lua b/scripts/zones/Misareaux_Coast/npcs/qm3.lua new file mode 100644 index 00000000000..d2bf8c583d5 --- /dev/null +++ b/scripts/zones/Misareaux_Coast/npcs/qm3.lua @@ -0,0 +1,63 @@ +----------------------------------- +-- Area: Misareaux_Coast +-- NPC: ??? (Spawn Ziphius) +-- !pos 102.5 -16 525 25 +----------------------------------- + +require("scripts/globals/npc_util") +local ID = require("scripts/zones/Misareaux_Coast/IDs") +local ZIPHIUS_QM_BASE = 16879919 +local ZIPHIUS = 16879900 +function onTrade(player,npc,trade) + local baited = GetServerVariable("[Ziphius]Bait Trap") + + -- Trade Slice of Carp + if (npcUtil.tradeHas(trade, 16994) and bit.band(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) == 0) then + baited = bit.bor(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) + player:tradeComplete() + player:messageSpecial(ID.text.PUT_IN_TRAP, 16994) + SetServerVariable("[Ziphius]Bait Trap", baited) + else + player:messageSpecial(ID.text.NOTHING_HERE_YET) + end +end + +function onTrigger(player,npc) + local baited = GetServerVariable("[Ziphius]Bait Trap") + + if (VanadielHour() >= 22 or VanadielHour() < 4) then + if (bit.band(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) == 0) then + player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) + else + player:messageSpecial(ID.text.NOTHING_HERE_YET) + end + elseif (VanadielHour() >= 4 and VanadielHour() < 7) then + if (bit.band(baited, bit.lshift(1, 7)) == 0) then + if (math.random(1,1000) <= 176) then + SpawnMob(ZIPHIUS):updateClaim(player) + GetMobByID(ZIPHIUS):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()-1) + npc:setStatus(tpz.status.DISAPPEAR) + for i = 6, 11, 1 do + baited = bit.bor(baited, bit.lshift(1, i)) + SetServerVariable("[Ziphius]Bait Trap", baited) + end + else + player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) + end + baited = bit.bor(baited, bit.lshift(1, 7)) + SetServerVariable("[Ziphius]Bait Trap", baited) + else + player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) + end + end +end + +function onEventUpdate(player,csid,option) + -- printf("CSID: %u",csid) + -- printf("RESULT: %u",option) +end + +function onEventFinish(player,csid,option) + -- printf("CSID: %u",csid) + -- printf("RESULT: %u",option) +end \ No newline at end of file diff --git a/scripts/zones/Misareaux_Coast/npcs/qm4.lua b/scripts/zones/Misareaux_Coast/npcs/qm4.lua new file mode 100644 index 00000000000..fe335e569a4 --- /dev/null +++ b/scripts/zones/Misareaux_Coast/npcs/qm4.lua @@ -0,0 +1,53 @@ +----------------------------------- +-- Area: Misareaux_Coast +-- NPC: ??? (Spawn Ziphius) +-- !pos 144.5 -16 520 25 +----------------------------------- + +require("scripts/globals/npc_util") +local ID = require("scripts/zones/Misareaux_Coast/IDs") +local ZIPHIUS_QM_BASE = 16879919 +local ZIPHIUS = 16879900 +function onTrade(player,npc,trade) + local baited = GetServerVariable("[Ziphius]Bait Trap") + + -- Trade Slice of Carp + if (npcUtil.tradeHas(trade, 16994) and bit.band(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) == 0) then + baited = bit.bor(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) + player:tradeComplete() + player:messageSpecial(ID.text.PUT_IN_TRAP, 16994) + SetServerVariable("[Ziphius]Bait Trap", baited) + else + player:messageSpecial(ID.text.NOTHING_HERE_YET) + end +end + +function onTrigger(player,npc) + local baited = GetServerVariable("[Ziphius]Bait Trap") + + if (VanadielHour() >= 22 or VanadielHour() < 4) then + if (bit.band(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) == 0) then + player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) + else + player:messageSpecial(ID.text.NOTHING_HERE_YET) + end + elseif (VanadielHour() >= 4 and VanadielHour() < 7) then + if (bit.band(baited, bit.lshift(1, 8)) == 0) then + if (math.random(1,1000) <= 176) then + SpawnMob(ZIPHIUS):updateClaim(player) + GetMobByID(ZIPHIUS):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()-1) + npc:setStatus(tpz.status.DISAPPEAR) + for i = 6, 11, 1 do + baited = bit.bor(baited, bit.lshift(1, i)) + SetServerVariable("[Ziphius]Bait Trap", baited) + end + else + player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) + end + baited = bit.bor(baited, bit.lshift(1, 8)) + SetServerVariable("[Ziphius]Bait Trap", baited) + else + player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Misareaux_Coast/npcs/qm5.lua b/scripts/zones/Misareaux_Coast/npcs/qm5.lua new file mode 100644 index 00000000000..e4b5d95b766 --- /dev/null +++ b/scripts/zones/Misareaux_Coast/npcs/qm5.lua @@ -0,0 +1,53 @@ +----------------------------------- +-- Area: Misareaux_Coast +-- NPC: ??? (Spawn Ziphius) +-- !pos 184.5 -16 517.5 25 +----------------------------------- + +require("scripts/globals/npc_util") +local ID = require("scripts/zones/Misareaux_Coast/IDs") +local ZIPHIUS_QM_BASE = 16879919 +local ZIPHIUS = 16879900 +function onTrade(player,npc,trade) + local baited = GetServerVariable("[Ziphius]Bait Trap") + + -- Trade Slice of Carp + if (npcUtil.tradeHas(trade, 16994) and bit.band(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) == 0) then + baited = bit.bor(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) + player:tradeComplete() + player:messageSpecial(ID.text.PUT_IN_TRAP, 16994) + SetServerVariable("[Ziphius]Bait Trap", baited) + else + player:messageSpecial(ID.text.NOTHING_HERE_YET) + end +end + +function onTrigger(player,npc) + local baited = GetServerVariable("[Ziphius]Bait Trap") + + if (VanadielHour() >= 22 or VanadielHour() < 4) then + if (bit.band(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) == 0) then + player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) + else + player:messageSpecial(ID.text.NOTHING_HERE_YET) + end + elseif (VanadielHour() >= 4 and VanadielHour() < 7) then + if (bit.band(baited, bit.lshift(1, 9)) == 0) then + if (math.random(1,1000) <= 176) then + SpawnMob(ZIPHIUS):updateClaim(player) + GetMobByID(ZIPHIUS):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()-1) + npc:setStatus(tpz.status.DISAPPEAR) + for i = 6, 11, 1 do + baited = bit.bor(baited, bit.lshift(1, i)) + SetServerVariable("[Ziphius]Bait Trap", baited) + end + else + player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) + end + baited = bit.bor(baited, bit.lshift(1, 9)) + SetServerVariable("[Ziphius]Bait Trap", baited) + else + player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Misareaux_Coast/npcs/qm6.lua b/scripts/zones/Misareaux_Coast/npcs/qm6.lua new file mode 100644 index 00000000000..a61ffe113a7 --- /dev/null +++ b/scripts/zones/Misareaux_Coast/npcs/qm6.lua @@ -0,0 +1,53 @@ +----------------------------------- +-- Area: Misareaux_Coast +-- NPC: ??? (Spawn Ziphius) +-- !pos 207 -16 479 25 +----------------------------------- + +require("scripts/globals/npc_util") +local ID = require("scripts/zones/Misareaux_Coast/IDs") +local ZIPHIUS_QM_BASE = 16879919 +local ZIPHIUS = 16879900 +function onTrade(player,npc,trade) + local baited = GetServerVariable("[Ziphius]Bait Trap") + + -- Trade Slice of Carp + if (npcUtil.tradeHas(trade, 16994) and bit.band(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) == 0) then + baited = bit.bor(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) + player:tradeComplete() + player:messageSpecial(ID.text.PUT_IN_TRAP, 16994) + SetServerVariable("[Ziphius]Bait Trap", baited) + else + player:messageSpecial(ID.text.NOTHING_HERE_YET) + end +end + +function onTrigger(player,npc) + local baited = GetServerVariable("[Ziphius]Bait Trap") + + if (VanadielHour() >= 22 or VanadielHour() < 4) then + if (bit.band(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) == 0) then + player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) + else + player:messageSpecial(ID.text.NOTHING_HERE_YET) + end + elseif (VanadielHour() >= 4 and VanadielHour() < 7) then + if (bit.band(baited, bit.lshift(1, 10)) == 0) then + if (math.random(1,1000) <= 176) then + SpawnMob(ZIPHIUS):updateClaim(player) + GetMobByID(ZIPHIUS):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()-1) + npc:setStatus(tpz.status.DISAPPEAR) + for i = 6, 11, 1 do + baited = bit.bor(baited, bit.lshift(1, i)) + SetServerVariable("[Ziphius]Bait Trap", baited) + end + else + player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) + end + baited = bit.bor(baited, bit.lshift(1, 10)) + SetServerVariable("[Ziphius]Bait Trap", baited) + else + player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) + end + end +end \ No newline at end of file diff --git a/scripts/zones/Misareaux_Coast/npcs/qm7.lua b/scripts/zones/Misareaux_Coast/npcs/qm7.lua new file mode 100644 index 00000000000..eb471eb4abc --- /dev/null +++ b/scripts/zones/Misareaux_Coast/npcs/qm7.lua @@ -0,0 +1,53 @@ +----------------------------------- +-- Area: Misareaux_Coast +-- NPC: ??? (Spawn Ziphius) +-- !pos 253 -16 411.5 25 +----------------------------------- + +require("scripts/globals/npc_util") +local ID = require("scripts/zones/Misareaux_Coast/IDs") +local ZIPHIUS_QM_BASE = 16879919 +local ZIPHIUS = 16879900 +function onTrade(player,npc,trade) + local baited = GetServerVariable("[Ziphius]Bait Trap") + + -- Trade Slice of Carp + if (npcUtil.tradeHas(trade, 16994) and bit.band(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) == 0) then + baited = bit.bor(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) + player:tradeComplete() + player:messageSpecial(ID.text.PUT_IN_TRAP, 16994) + SetServerVariable("[Ziphius]Bait Trap", baited) + else + player:messageSpecial(ID.text.NOTHING_HERE_YET) + end +end + +function onTrigger(player,npc) + local baited = GetServerVariable("[Ziphius]Bait Trap") + + if (VanadielHour() >= 22 or VanadielHour() < 4) then + if (bit.band(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) == 0) then + player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) + else + player:messageSpecial(ID.text.NOTHING_HERE_YET) + end + elseif (VanadielHour() >= 4 and VanadielHour() < 7) then + if (bit.band(baited, bit.lshift(1, 11)) == 0) then + if (math.random(1,1000) <= 176) then + SpawnMob(ZIPHIUS):updateClaim(player) + GetMobByID(ZIPHIUS):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()-1) + npc:setStatus(tpz.status.DISAPPEAR) + for i = 6, 11, 1 do + baited = bit.bor(baited, bit.lshift(1, i)) + SetServerVariable("[Ziphius]Bait Trap", baited) + end + else + player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) + end + baited = bit.bor(baited, bit.lshift(1, 11)) + SetServerVariable("[Ziphius]Bait Trap", baited) + else + player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) + end + end +end \ No newline at end of file From e4c45161b91e9d8e5c6c36cf69358ca999ed51fc Mon Sep 17 00:00:00 2001 From: hookstar Date: Sun, 3 May 2020 18:01:18 -0400 Subject: [PATCH 2/5] Changes Server Var to Local Var and other fixes. updated some of the coding. --- scripts/zones/Misareaux_Coast/IDs.lua | 3 +- scripts/zones/Misareaux_Coast/Zone.lua | 5 ++- scripts/zones/Misareaux_Coast/npcs/qm2.lua | 42 +++++++++------------- scripts/zones/Misareaux_Coast/npcs/qm3.lua | 38 ++++++++------------ scripts/zones/Misareaux_Coast/npcs/qm4.lua | 40 ++++++++++----------- scripts/zones/Misareaux_Coast/npcs/qm5.lua | 40 ++++++++++----------- scripts/zones/Misareaux_Coast/npcs/qm6.lua | 40 ++++++++++----------- scripts/zones/Misareaux_Coast/npcs/qm7.lua | 40 ++++++++++----------- win32/vcxproj/topaz_connect.vcxproj | 4 +-- 9 files changed, 116 insertions(+), 136 deletions(-) diff --git a/scripts/zones/Misareaux_Coast/IDs.lua b/scripts/zones/Misareaux_Coast/IDs.lua index 7e795f61c62..12f222be799 100644 --- a/scripts/zones/Misareaux_Coast/IDs.lua +++ b/scripts/zones/Misareaux_Coast/IDs.lua @@ -37,7 +37,7 @@ zones[tpz.zone.MISAREAUX_COAST] = BOGGELMANN = 16879897, GRATION = 16879899, ZIPHIUS = 16879900, - ZIPHIUS_QM_BASE = 16879919, + }, npc = { @@ -50,6 +50,7 @@ zones[tpz.zone.MISAREAUX_COAST] = 16879976, 16879977, }, + ZIPHIUS_QM_BASE = 16879919, }, } diff --git a/scripts/zones/Misareaux_Coast/Zone.lua b/scripts/zones/Misareaux_Coast/Zone.lua index ab22d9a1b48..b72fc2453f5 100644 --- a/scripts/zones/Misareaux_Coast/Zone.lua +++ b/scripts/zones/Misareaux_Coast/Zone.lua @@ -28,7 +28,6 @@ function onRegionEnter(player,region) end function onGameHour(zone) - local baited = GetServerVariable("[Ziphius]Bait Trap") local ZIPHIUS_QM_BASE = 16879919 if (VanadielHour() == 22) then -- Spawn traps for Ziphius for i = ZIPHIUS_QM_BASE, ZIPHIUS_QM_BASE+5, 1 do @@ -37,11 +36,11 @@ function onGameHour(zone) elseif (VanadielHour() == 7) then -- Despawn traps for Ziphius for i = ZIPHIUS_QM_BASE, ZIPHIUS_QM_BASE+5, 1 do GetNPCByID(i):setStatus(tpz.status.DISAPPEAR) + GetNPCByID(i):setLocalVar("[Ziphius]Bait Trap", 0) end - SetServerVariable("[Ziphius]Bait Trap", 0) elseif (VanadielHour() == 4) then -- Despawn non-baited traps for i = ZIPHIUS_QM_BASE, ZIPHIUS_QM_BASE+5, 1 do - if (bit.band(baited, bit.lshift(1, (i - ZIPHIUS_QM_BASE))) == 0) then + if (GetNPCByID(i):getLocalVar("[Ziphius]Bait Trap") == 0) then GetNPCByID(i):setStatus(tpz.status.DISAPPEAR) end end diff --git a/scripts/zones/Misareaux_Coast/npcs/qm2.lua b/scripts/zones/Misareaux_Coast/npcs/qm2.lua index b221daa45e6..138b18697cd 100644 --- a/scripts/zones/Misareaux_Coast/npcs/qm2.lua +++ b/scripts/zones/Misareaux_Coast/npcs/qm2.lua @@ -6,58 +6,48 @@ require("scripts/globals/npc_util") local ID = require("scripts/zones/Misareaux_Coast/IDs") -local ZIPHIUS_QM_BASE = 16879919 -local ZIPHIUS = 16879900 + function onTrade(player,npc,trade) - local baited = GetServerVariable("[Ziphius]Bait Trap") - + local baited = npc:getLocalVar("[Ziphius]Bait Trap") + -- Trade Slice of Carp - if (npcUtil.tradeHas(trade, 16994) and bit.band(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) == 0) then - baited = bit.bor(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) - player:tradeComplete() + if (npcUtil.tradeHas(trade, 16994) and baited == 0) then + npc:setLocalVar("[Ziphius]Bait Trap", 1) + player:confirmTrade() player:messageSpecial(ID.text.PUT_IN_TRAP, 16994) - SetServerVariable("[Ziphius]Bait Trap", baited) else player:messageSpecial(ID.text.NOTHING_HERE_YET) end end - function onTrigger(player,npc) - local baited = GetServerVariable("[Ziphius]Bait Trap") + local baited = npc:getLocalVar("[Ziphius]Bait Trap") if (VanadielHour() >= 22 or VanadielHour() < 4) then - if (bit.band(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) == 0) then + if (baited == 0) then player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) else player:messageSpecial(ID.text.NOTHING_HERE_YET) end elseif (VanadielHour() >= 4 and VanadielHour() < 7) then - if (bit.band(baited, bit.lshift(1, 6)) == 0) then - if (math.random(1,1000) <= 176) then - SpawnMob(ZIPHIUS):updateClaim(player) - GetMobByID(ZIPHIUS):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()-1) + if (baited == 1) then + if (math.random(1,1000) <= 1000) then + SpawnMob(ID.mob.ZIPHIUS):updateClaim(player) + GetMobByID(ID.mob.ZIPHIUS):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()-1) npc:setStatus(tpz.status.DISAPPEAR) - for i = 6, 11, 1 do - baited = bit.bor(baited, bit.lshift(1, i)) - SetServerVariable("[Ziphius]Bait Trap", baited) - end else player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) end - baited = bit.bor(baited, bit.lshift(1, 6)) - SetServerVariable("[Ziphius]Bait Trap", baited) + npc:setLocalVar("[Ziphius]Bait Trap", 0) else - player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) + player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) end end end function onEventUpdate(player,csid,option) - -- printf("CSID: %u",csid) - -- printf("RESULT: %u",option) + end function onEventFinish(player,csid,option) - -- printf("CSID: %u",csid) - -- printf("RESULT: %u",option) + end \ No newline at end of file diff --git a/scripts/zones/Misareaux_Coast/npcs/qm3.lua b/scripts/zones/Misareaux_Coast/npcs/qm3.lua index d2bf8c583d5..0aba59421f6 100644 --- a/scripts/zones/Misareaux_Coast/npcs/qm3.lua +++ b/scripts/zones/Misareaux_Coast/npcs/qm3.lua @@ -6,58 +6,48 @@ require("scripts/globals/npc_util") local ID = require("scripts/zones/Misareaux_Coast/IDs") -local ZIPHIUS_QM_BASE = 16879919 -local ZIPHIUS = 16879900 + function onTrade(player,npc,trade) - local baited = GetServerVariable("[Ziphius]Bait Trap") + local baited = npc:getLocalVar("[Ziphius]Bait Trap") -- Trade Slice of Carp - if (npcUtil.tradeHas(trade, 16994) and bit.band(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) == 0) then - baited = bit.bor(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) - player:tradeComplete() + if (npcUtil.tradeHas(trade, 16994) and baited == 0) then + npc:setLocalVar("[Ziphius]Bait Trap", 1) + player:confirmTrade() player:messageSpecial(ID.text.PUT_IN_TRAP, 16994) - SetServerVariable("[Ziphius]Bait Trap", baited) else player:messageSpecial(ID.text.NOTHING_HERE_YET) end end - function onTrigger(player,npc) - local baited = GetServerVariable("[Ziphius]Bait Trap") + local baited = npc:getLocalVar("[Ziphius]Bait Trap") if (VanadielHour() >= 22 or VanadielHour() < 4) then - if (bit.band(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) == 0) then + if (baited == 0) then player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) else player:messageSpecial(ID.text.NOTHING_HERE_YET) end elseif (VanadielHour() >= 4 and VanadielHour() < 7) then - if (bit.band(baited, bit.lshift(1, 7)) == 0) then + if (baited == 1) then if (math.random(1,1000) <= 176) then - SpawnMob(ZIPHIUS):updateClaim(player) - GetMobByID(ZIPHIUS):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()-1) + SpawnMob(ID.mob.ZIPHIUS):updateClaim(player) + GetMobByID(ID.mob.ZIPHIUS):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()-1) npc:setStatus(tpz.status.DISAPPEAR) - for i = 6, 11, 1 do - baited = bit.bor(baited, bit.lshift(1, i)) - SetServerVariable("[Ziphius]Bait Trap", baited) - end else player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) end - baited = bit.bor(baited, bit.lshift(1, 7)) - SetServerVariable("[Ziphius]Bait Trap", baited) + npc:setLocalVar("[Ziphius]Bait Trap", 0) else - player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) + player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) end end end function onEventUpdate(player,csid,option) - -- printf("CSID: %u",csid) - -- printf("RESULT: %u",option) + end function onEventFinish(player,csid,option) - -- printf("CSID: %u",csid) - -- printf("RESULT: %u",option) + end \ No newline at end of file diff --git a/scripts/zones/Misareaux_Coast/npcs/qm4.lua b/scripts/zones/Misareaux_Coast/npcs/qm4.lua index fe335e569a4..c09c5319741 100644 --- a/scripts/zones/Misareaux_Coast/npcs/qm4.lua +++ b/scripts/zones/Misareaux_Coast/npcs/qm4.lua @@ -6,48 +6,48 @@ require("scripts/globals/npc_util") local ID = require("scripts/zones/Misareaux_Coast/IDs") -local ZIPHIUS_QM_BASE = 16879919 -local ZIPHIUS = 16879900 + function onTrade(player,npc,trade) - local baited = GetServerVariable("[Ziphius]Bait Trap") + local baited = npc:getLocalVar("[Ziphius]Bait Trap") -- Trade Slice of Carp - if (npcUtil.tradeHas(trade, 16994) and bit.band(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) == 0) then - baited = bit.bor(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) - player:tradeComplete() + if (npcUtil.tradeHas(trade, 16994) and baited == 0) then + npc:setLocalVar("[Ziphius]Bait Trap", 1) + player:confirmTrade() player:messageSpecial(ID.text.PUT_IN_TRAP, 16994) - SetServerVariable("[Ziphius]Bait Trap", baited) else player:messageSpecial(ID.text.NOTHING_HERE_YET) end end - function onTrigger(player,npc) - local baited = GetServerVariable("[Ziphius]Bait Trap") + local baited = npc:getLocalVar("[Ziphius]Bait Trap") if (VanadielHour() >= 22 or VanadielHour() < 4) then - if (bit.band(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) == 0) then + if (baited == 0) then player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) else player:messageSpecial(ID.text.NOTHING_HERE_YET) end elseif (VanadielHour() >= 4 and VanadielHour() < 7) then - if (bit.band(baited, bit.lshift(1, 8)) == 0) then + if (baited == 1) then if (math.random(1,1000) <= 176) then - SpawnMob(ZIPHIUS):updateClaim(player) - GetMobByID(ZIPHIUS):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()-1) + SpawnMob(ID.mob.ZIPHIUS):updateClaim(player) + GetMobByID(ID.mob.ZIPHIUS):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()-1) npc:setStatus(tpz.status.DISAPPEAR) - for i = 6, 11, 1 do - baited = bit.bor(baited, bit.lshift(1, i)) - SetServerVariable("[Ziphius]Bait Trap", baited) - end else player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) end - baited = bit.bor(baited, bit.lshift(1, 8)) - SetServerVariable("[Ziphius]Bait Trap", baited) + npc:setLocalVar("[Ziphius]Bait Trap", 0) else - player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) + player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) end end +end + +function onEventUpdate(player,csid,option) + +end + +function onEventFinish(player,csid,option) + end \ No newline at end of file diff --git a/scripts/zones/Misareaux_Coast/npcs/qm5.lua b/scripts/zones/Misareaux_Coast/npcs/qm5.lua index e4b5d95b766..07185dacea5 100644 --- a/scripts/zones/Misareaux_Coast/npcs/qm5.lua +++ b/scripts/zones/Misareaux_Coast/npcs/qm5.lua @@ -6,48 +6,48 @@ require("scripts/globals/npc_util") local ID = require("scripts/zones/Misareaux_Coast/IDs") -local ZIPHIUS_QM_BASE = 16879919 -local ZIPHIUS = 16879900 + function onTrade(player,npc,trade) - local baited = GetServerVariable("[Ziphius]Bait Trap") + local baited = npc:getLocalVar("[Ziphius]Bait Trap") -- Trade Slice of Carp - if (npcUtil.tradeHas(trade, 16994) and bit.band(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) == 0) then - baited = bit.bor(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) - player:tradeComplete() + if (npcUtil.tradeHas(trade, 16994) and baited == 0) then + npc:setLocalVar("[Ziphius]Bait Trap", 1) + player:confirmTrade() player:messageSpecial(ID.text.PUT_IN_TRAP, 16994) - SetServerVariable("[Ziphius]Bait Trap", baited) else player:messageSpecial(ID.text.NOTHING_HERE_YET) end end - function onTrigger(player,npc) - local baited = GetServerVariable("[Ziphius]Bait Trap") + local baited = npc:getLocalVar("[Ziphius]Bait Trap") if (VanadielHour() >= 22 or VanadielHour() < 4) then - if (bit.band(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) == 0) then + if (baited == 0) then player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) else player:messageSpecial(ID.text.NOTHING_HERE_YET) end elseif (VanadielHour() >= 4 and VanadielHour() < 7) then - if (bit.band(baited, bit.lshift(1, 9)) == 0) then + if (baited == 1) then if (math.random(1,1000) <= 176) then - SpawnMob(ZIPHIUS):updateClaim(player) - GetMobByID(ZIPHIUS):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()-1) + SpawnMob(ID.mob.ZIPHIUS):updateClaim(player) + GetMobByID(ID.mob.ZIPHIUS):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()-1) npc:setStatus(tpz.status.DISAPPEAR) - for i = 6, 11, 1 do - baited = bit.bor(baited, bit.lshift(1, i)) - SetServerVariable("[Ziphius]Bait Trap", baited) - end else player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) end - baited = bit.bor(baited, bit.lshift(1, 9)) - SetServerVariable("[Ziphius]Bait Trap", baited) + npc:setLocalVar("[Ziphius]Bait Trap", 0) else - player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) + player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) end end +end + +function onEventUpdate(player,csid,option) + +end + +function onEventFinish(player,csid,option) + end \ No newline at end of file diff --git a/scripts/zones/Misareaux_Coast/npcs/qm6.lua b/scripts/zones/Misareaux_Coast/npcs/qm6.lua index a61ffe113a7..23e2fc3dcff 100644 --- a/scripts/zones/Misareaux_Coast/npcs/qm6.lua +++ b/scripts/zones/Misareaux_Coast/npcs/qm6.lua @@ -6,48 +6,48 @@ require("scripts/globals/npc_util") local ID = require("scripts/zones/Misareaux_Coast/IDs") -local ZIPHIUS_QM_BASE = 16879919 -local ZIPHIUS = 16879900 + function onTrade(player,npc,trade) - local baited = GetServerVariable("[Ziphius]Bait Trap") + local baited = npc:getLocalVar("[Ziphius]Bait Trap") -- Trade Slice of Carp - if (npcUtil.tradeHas(trade, 16994) and bit.band(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) == 0) then - baited = bit.bor(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) - player:tradeComplete() + if (npcUtil.tradeHas(trade, 16994) and baited == 0) then + npc:setLocalVar("[Ziphius]Bait Trap", 1) + player:confirmTrade() player:messageSpecial(ID.text.PUT_IN_TRAP, 16994) - SetServerVariable("[Ziphius]Bait Trap", baited) else player:messageSpecial(ID.text.NOTHING_HERE_YET) end end - function onTrigger(player,npc) - local baited = GetServerVariable("[Ziphius]Bait Trap") + local baited = npc:getLocalVar("[Ziphius]Bait Trap") if (VanadielHour() >= 22 or VanadielHour() < 4) then - if (bit.band(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) == 0) then + if (baited == 0) then player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) else player:messageSpecial(ID.text.NOTHING_HERE_YET) end elseif (VanadielHour() >= 4 and VanadielHour() < 7) then - if (bit.band(baited, bit.lshift(1, 10)) == 0) then + if (baited == 1) then if (math.random(1,1000) <= 176) then - SpawnMob(ZIPHIUS):updateClaim(player) - GetMobByID(ZIPHIUS):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()-1) + SpawnMob(ID.mob.ZIPHIUS):updateClaim(player) + GetMobByID(ID.mob.ZIPHIUS):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()-1) npc:setStatus(tpz.status.DISAPPEAR) - for i = 6, 11, 1 do - baited = bit.bor(baited, bit.lshift(1, i)) - SetServerVariable("[Ziphius]Bait Trap", baited) - end else player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) end - baited = bit.bor(baited, bit.lshift(1, 10)) - SetServerVariable("[Ziphius]Bait Trap", baited) + npc:setLocalVar("[Ziphius]Bait Trap", 0) else - player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) + player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) end end +end + +function onEventUpdate(player,csid,option) + +end + +function onEventFinish(player,csid,option) + end \ No newline at end of file diff --git a/scripts/zones/Misareaux_Coast/npcs/qm7.lua b/scripts/zones/Misareaux_Coast/npcs/qm7.lua index eb471eb4abc..77a9daa2bbe 100644 --- a/scripts/zones/Misareaux_Coast/npcs/qm7.lua +++ b/scripts/zones/Misareaux_Coast/npcs/qm7.lua @@ -6,48 +6,48 @@ require("scripts/globals/npc_util") local ID = require("scripts/zones/Misareaux_Coast/IDs") -local ZIPHIUS_QM_BASE = 16879919 -local ZIPHIUS = 16879900 + function onTrade(player,npc,trade) - local baited = GetServerVariable("[Ziphius]Bait Trap") + local baited = npc:getLocalVar("[Ziphius]Bait Trap") -- Trade Slice of Carp - if (npcUtil.tradeHas(trade, 16994) and bit.band(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) == 0) then - baited = bit.bor(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) - player:tradeComplete() + if (npcUtil.tradeHas(trade, 16994) and baited == 0) then + npc:setLocalVar("[Ziphius]Bait Trap", 1) + player:confirmTrade() player:messageSpecial(ID.text.PUT_IN_TRAP, 16994) - SetServerVariable("[Ziphius]Bait Trap", baited) else player:messageSpecial(ID.text.NOTHING_HERE_YET) end end - function onTrigger(player,npc) - local baited = GetServerVariable("[Ziphius]Bait Trap") + local baited = npc:getLocalVar("[Ziphius]Bait Trap") if (VanadielHour() >= 22 or VanadielHour() < 4) then - if (bit.band(baited, bit.lshift(1, (npc:getID() - ZIPHIUS_QM_BASE))) == 0) then + if (baited == 0) then player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) else player:messageSpecial(ID.text.NOTHING_HERE_YET) end elseif (VanadielHour() >= 4 and VanadielHour() < 7) then - if (bit.band(baited, bit.lshift(1, 11)) == 0) then + if (baited == 1) then if (math.random(1,1000) <= 176) then - SpawnMob(ZIPHIUS):updateClaim(player) - GetMobByID(ZIPHIUS):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()-1) + SpawnMob(ID.mob.ZIPHIUS):updateClaim(player) + GetMobByID(ID.mob.ZIPHIUS):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()-1) npc:setStatus(tpz.status.DISAPPEAR) - for i = 6, 11, 1 do - baited = bit.bor(baited, bit.lshift(1, i)) - SetServerVariable("[Ziphius]Bait Trap", baited) - end else player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) end - baited = bit.bor(baited, bit.lshift(1, 11)) - SetServerVariable("[Ziphius]Bait Trap", baited) + npc:setLocalVar("[Ziphius]Bait Trap", 0) else - player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) + player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) end end +end + +function onEventUpdate(player,csid,option) + +end + +function onEventFinish(player,csid,option) + end \ No newline at end of file diff --git a/win32/vcxproj/topaz_connect.vcxproj b/win32/vcxproj/topaz_connect.vcxproj index bb44dcb6e07..c17a7f64edf 100644 --- a/win32/vcxproj/topaz_connect.vcxproj +++ b/win32/vcxproj/topaz_connect.vcxproj @@ -68,7 +68,7 @@ {E50EB22C-08C8-4FDA-91AD-DE5062AF5619} Win32Proj topaz_connectserver - 10.0 + 10.0.17763.0 @@ -88,7 +88,7 @@ false true MultiByte - v142 + v141 Application From 5dfc32a89e24c314251b0dfdc88558ceac8390ab Mon Sep 17 00:00:00 2001 From: hookstar Date: Thu, 7 May 2020 08:59:24 -0400 Subject: [PATCH 3/5] Removed excessive parens Would this work for the connect server? Just updating as it should be? --- scripts/zones/Misareaux_Coast/Zone.lua | 6 +++--- scripts/zones/Misareaux_Coast/npcs/qm2.lua | 6 +++--- scripts/zones/Misareaux_Coast/npcs/qm3.lua | 4 ++-- scripts/zones/Misareaux_Coast/npcs/qm4.lua | 4 ++-- scripts/zones/Misareaux_Coast/npcs/qm5.lua | 4 ++-- scripts/zones/Misareaux_Coast/npcs/qm6.lua | 4 ++-- scripts/zones/Misareaux_Coast/npcs/qm7.lua | 4 ++-- win32/vcxproj/topaz_connect.vcxproj | 2 +- 8 files changed, 17 insertions(+), 17 deletions(-) diff --git a/scripts/zones/Misareaux_Coast/Zone.lua b/scripts/zones/Misareaux_Coast/Zone.lua index b72fc2453f5..5a75da924c7 100644 --- a/scripts/zones/Misareaux_Coast/Zone.lua +++ b/scripts/zones/Misareaux_Coast/Zone.lua @@ -29,16 +29,16 @@ end function onGameHour(zone) local ZIPHIUS_QM_BASE = 16879919 - if (VanadielHour() == 22) then -- Spawn traps for Ziphius + if VanadielHour() == 22 then -- Spawn traps for Ziphius for i = ZIPHIUS_QM_BASE, ZIPHIUS_QM_BASE+5, 1 do GetNPCByID(i):setStatus(tpz.status.NORMAL) end - elseif (VanadielHour() == 7) then -- Despawn traps for Ziphius + elseif VanadielHour() == 7 then -- Despawn traps for Ziphius for i = ZIPHIUS_QM_BASE, ZIPHIUS_QM_BASE+5, 1 do GetNPCByID(i):setStatus(tpz.status.DISAPPEAR) GetNPCByID(i):setLocalVar("[Ziphius]Bait Trap", 0) end - elseif (VanadielHour() == 4) then -- Despawn non-baited traps + elseif VanadielHour() == 4 then -- Despawn non-baited traps for i = ZIPHIUS_QM_BASE, ZIPHIUS_QM_BASE+5, 1 do if (GetNPCByID(i):getLocalVar("[Ziphius]Bait Trap") == 0) then GetNPCByID(i):setStatus(tpz.status.DISAPPEAR) diff --git a/scripts/zones/Misareaux_Coast/npcs/qm2.lua b/scripts/zones/Misareaux_Coast/npcs/qm2.lua index 138b18697cd..e7b17ad80e0 100644 --- a/scripts/zones/Misareaux_Coast/npcs/qm2.lua +++ b/scripts/zones/Misareaux_Coast/npcs/qm2.lua @@ -22,15 +22,15 @@ end function onTrigger(player,npc) local baited = npc:getLocalVar("[Ziphius]Bait Trap") - if (VanadielHour() >= 22 or VanadielHour() < 4) then + if VanadielHour() >= 22 or VanadielHour() < 4 then if (baited == 0) then player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) else player:messageSpecial(ID.text.NOTHING_HERE_YET) end - elseif (VanadielHour() >= 4 and VanadielHour() < 7) then + elseif VanadielHour() >= 4 and VanadielHour() < 7 then if (baited == 1) then - if (math.random(1,1000) <= 1000) then + if (math.random(1,1000) <= 176) then SpawnMob(ID.mob.ZIPHIUS):updateClaim(player) GetMobByID(ID.mob.ZIPHIUS):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()-1) npc:setStatus(tpz.status.DISAPPEAR) diff --git a/scripts/zones/Misareaux_Coast/npcs/qm3.lua b/scripts/zones/Misareaux_Coast/npcs/qm3.lua index 0aba59421f6..a749465df20 100644 --- a/scripts/zones/Misareaux_Coast/npcs/qm3.lua +++ b/scripts/zones/Misareaux_Coast/npcs/qm3.lua @@ -22,13 +22,13 @@ end function onTrigger(player,npc) local baited = npc:getLocalVar("[Ziphius]Bait Trap") - if (VanadielHour() >= 22 or VanadielHour() < 4) then + if VanadielHour() >= 22 or VanadielHour() < 4 then if (baited == 0) then player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) else player:messageSpecial(ID.text.NOTHING_HERE_YET) end - elseif (VanadielHour() >= 4 and VanadielHour() < 7) then + elseif VanadielHour() >= 4 and VanadielHour() < 7 then if (baited == 1) then if (math.random(1,1000) <= 176) then SpawnMob(ID.mob.ZIPHIUS):updateClaim(player) diff --git a/scripts/zones/Misareaux_Coast/npcs/qm4.lua b/scripts/zones/Misareaux_Coast/npcs/qm4.lua index c09c5319741..8552956b483 100644 --- a/scripts/zones/Misareaux_Coast/npcs/qm4.lua +++ b/scripts/zones/Misareaux_Coast/npcs/qm4.lua @@ -22,13 +22,13 @@ end function onTrigger(player,npc) local baited = npc:getLocalVar("[Ziphius]Bait Trap") - if (VanadielHour() >= 22 or VanadielHour() < 4) then + if VanadielHour() >= 22 or VanadielHour() < 4 then if (baited == 0) then player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) else player:messageSpecial(ID.text.NOTHING_HERE_YET) end - elseif (VanadielHour() >= 4 and VanadielHour() < 7) then + elseif VanadielHour() >= 4 and VanadielHour() < 7 then if (baited == 1) then if (math.random(1,1000) <= 176) then SpawnMob(ID.mob.ZIPHIUS):updateClaim(player) diff --git a/scripts/zones/Misareaux_Coast/npcs/qm5.lua b/scripts/zones/Misareaux_Coast/npcs/qm5.lua index 07185dacea5..8f9e393c60c 100644 --- a/scripts/zones/Misareaux_Coast/npcs/qm5.lua +++ b/scripts/zones/Misareaux_Coast/npcs/qm5.lua @@ -22,13 +22,13 @@ end function onTrigger(player,npc) local baited = npc:getLocalVar("[Ziphius]Bait Trap") - if (VanadielHour() >= 22 or VanadielHour() < 4) then + if VanadielHour() >= 22 or VanadielHour() < 4 then if (baited == 0) then player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) else player:messageSpecial(ID.text.NOTHING_HERE_YET) end - elseif (VanadielHour() >= 4 and VanadielHour() < 7) then + elseif VanadielHour() >= 4 and VanadielHour() < 7 then if (baited == 1) then if (math.random(1,1000) <= 176) then SpawnMob(ID.mob.ZIPHIUS):updateClaim(player) diff --git a/scripts/zones/Misareaux_Coast/npcs/qm6.lua b/scripts/zones/Misareaux_Coast/npcs/qm6.lua index 23e2fc3dcff..4f7c7e9fa3d 100644 --- a/scripts/zones/Misareaux_Coast/npcs/qm6.lua +++ b/scripts/zones/Misareaux_Coast/npcs/qm6.lua @@ -22,13 +22,13 @@ end function onTrigger(player,npc) local baited = npc:getLocalVar("[Ziphius]Bait Trap") - if (VanadielHour() >= 22 or VanadielHour() < 4) then + if VanadielHour() >= 22 or VanadielHour() < 4 then if (baited == 0) then player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) else player:messageSpecial(ID.text.NOTHING_HERE_YET) end - elseif (VanadielHour() >= 4 and VanadielHour() < 7) then + elseif VanadielHour() >= 4 and VanadielHour() < 7 then if (baited == 1) then if (math.random(1,1000) <= 176) then SpawnMob(ID.mob.ZIPHIUS):updateClaim(player) diff --git a/scripts/zones/Misareaux_Coast/npcs/qm7.lua b/scripts/zones/Misareaux_Coast/npcs/qm7.lua index 77a9daa2bbe..2fd960d14c6 100644 --- a/scripts/zones/Misareaux_Coast/npcs/qm7.lua +++ b/scripts/zones/Misareaux_Coast/npcs/qm7.lua @@ -22,13 +22,13 @@ end function onTrigger(player,npc) local baited = npc:getLocalVar("[Ziphius]Bait Trap") - if (VanadielHour() >= 22 or VanadielHour() < 4) then + if VanadielHour() >= 22 or VanadielHour() < 4 then if (baited == 0) then player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) else player:messageSpecial(ID.text.NOTHING_HERE_YET) end - elseif (VanadielHour() >= 4 and VanadielHour() < 7) then + elseif VanadielHour() >= 4 and VanadielHour() < 7 then if (baited == 1) then if (math.random(1,1000) <= 176) then SpawnMob(ID.mob.ZIPHIUS):updateClaim(player) diff --git a/win32/vcxproj/topaz_connect.vcxproj b/win32/vcxproj/topaz_connect.vcxproj index c17a7f64edf..7c19ea88be7 100644 --- a/win32/vcxproj/topaz_connect.vcxproj +++ b/win32/vcxproj/topaz_connect.vcxproj @@ -88,7 +88,7 @@ false true MultiByte - v141 + v142 Application From 6a09bcb035735e6eabc3788bce69ad4decba89a7 Mon Sep 17 00:00:00 2001 From: hookstar Date: Thu, 7 May 2020 20:18:28 -0400 Subject: [PATCH 4/5] Update topaz_connect.vcxproj Maybe Ill learn how to do this right the first time... --- win32/vcxproj/topaz_connect.vcxproj | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/win32/vcxproj/topaz_connect.vcxproj b/win32/vcxproj/topaz_connect.vcxproj index 7c19ea88be7..bb44dcb6e07 100644 --- a/win32/vcxproj/topaz_connect.vcxproj +++ b/win32/vcxproj/topaz_connect.vcxproj @@ -68,7 +68,7 @@ {E50EB22C-08C8-4FDA-91AD-DE5062AF5619} Win32Proj topaz_connectserver - 10.0.17763.0 + 10.0 From 78a0aa3dac546565f84a9482a5faf8005d3c36b6 Mon Sep 17 00:00:00 2001 From: Corey Sotiropoulos Date: Thu, 14 May 2020 16:05:04 -0400 Subject: [PATCH 5/5] Globalize functions Style cleanup and logic changes after retail testing. --- scripts/zones/Misareaux_Coast/IDs.lua | 1 + scripts/zones/Misareaux_Coast/Zone.lua | 27 +++----- scripts/zones/Misareaux_Coast/globals.lua | 80 ++++++++++++++++++++++ scripts/zones/Misareaux_Coast/npcs/qm2.lua | 47 ++----------- scripts/zones/Misareaux_Coast/npcs/qm3.lua | 47 ++----------- scripts/zones/Misareaux_Coast/npcs/qm4.lua | 47 ++----------- scripts/zones/Misareaux_Coast/npcs/qm5.lua | 47 ++----------- scripts/zones/Misareaux_Coast/npcs/qm6.lua | 47 ++----------- scripts/zones/Misareaux_Coast/npcs/qm7.lua | 47 ++----------- 9 files changed, 113 insertions(+), 277 deletions(-) create mode 100644 scripts/zones/Misareaux_Coast/globals.lua diff --git a/scripts/zones/Misareaux_Coast/IDs.lua b/scripts/zones/Misareaux_Coast/IDs.lua index 12f222be799..06c7db3e8f7 100644 --- a/scripts/zones/Misareaux_Coast/IDs.lua +++ b/scripts/zones/Misareaux_Coast/IDs.lua @@ -21,6 +21,7 @@ zones[tpz.zone.MISAREAUX_COAST] = DOOR_CLOSED = 7347, -- The door is locked tight. LOGGING_IS_POSSIBLE_HERE = 7601, -- Logging is possible here if you have . NOTHING_HERE_YET = 7660; -- There is nothing here yet. Check again in the morning. + ALREADY_BAITED = 7661; -- The trap already contains . APPEARS_TO_BE_TRAP = 7662; -- There appears to be some kind of trap here. Bits of fish are lying around the area. DID_NOT_CATCH_ANYTHING = 7663; -- You did not catch anything. PUT_IN_TRAP = 7664; -- You put in the trap. diff --git a/scripts/zones/Misareaux_Coast/Zone.lua b/scripts/zones/Misareaux_Coast/Zone.lua index 5a75da924c7..6b471ed7ae0 100644 --- a/scripts/zones/Misareaux_Coast/Zone.lua +++ b/scripts/zones/Misareaux_Coast/Zone.lua @@ -5,11 +5,13 @@ ----------------------------------- require("scripts/globals/conquest") require("scripts/globals/helm") -require("scripts/zones/Misareaux_Coast/IDs") +local ID = require("scripts/zones/Misareaux_Coast/IDs") +local MISAREAUX_COAST = require("scripts/zones/Misareaux_Coast/globals") ----------------------------------- function onInitialize(zone) tpz.helm.initZone(zone, tpz.helm.type.LOGGING) + MISAREAUX_COAST.ziphiusHandleQM() end function onConquestUpdate(zone, updatetype) @@ -18,8 +20,8 @@ end function onZoneIn(player,prevZone) local cs = -1 - if (player:getXPos() == 0 and player:getYPos() == 0 and player:getZPos() == 0) then - player:setPos(567.624,-20,280.775,120) + if player:getXPos() == 0 and player:getYPos() == 0 and player:getZPos() == 0 then + player:setPos(567.624, -20, 280.775, 120) end return cs end @@ -28,22 +30,9 @@ function onRegionEnter(player,region) end function onGameHour(zone) - local ZIPHIUS_QM_BASE = 16879919 - if VanadielHour() == 22 then -- Spawn traps for Ziphius - for i = ZIPHIUS_QM_BASE, ZIPHIUS_QM_BASE+5, 1 do - GetNPCByID(i):setStatus(tpz.status.NORMAL) - end - elseif VanadielHour() == 7 then -- Despawn traps for Ziphius - for i = ZIPHIUS_QM_BASE, ZIPHIUS_QM_BASE+5, 1 do - GetNPCByID(i):setStatus(tpz.status.DISAPPEAR) - GetNPCByID(i):setLocalVar("[Ziphius]Bait Trap", 0) - end - elseif VanadielHour() == 4 then -- Despawn non-baited traps - for i = ZIPHIUS_QM_BASE, ZIPHIUS_QM_BASE+5, 1 do - if (GetNPCByID(i):getLocalVar("[Ziphius]Bait Trap") == 0) then - GetNPCByID(i):setStatus(tpz.status.DISAPPEAR) - end - end + local vHour = VanadielHour() + if vHour >= 22 or vHour <= 7 then + MISAREAUX_COAST.ziphiusHandleQM() end end diff --git a/scripts/zones/Misareaux_Coast/globals.lua b/scripts/zones/Misareaux_Coast/globals.lua new file mode 100644 index 00000000000..63e627ab793 --- /dev/null +++ b/scripts/zones/Misareaux_Coast/globals.lua @@ -0,0 +1,80 @@ +----------------------------------- +-- Zone: Misareaux_Coast (25) +-- Desc: this file contains functions that are shared by multiple luas in this zone's directory +----------------------------------- +local ID = require("scripts/zones/Misareaux_Coast/IDs") +require("scripts/globals/npc_util") +----------------------------------- + +local MISAREAUX_COAST = { + ------------------------------------------ + -- Handle spawn/despawn for Ziphius NM QMs + ------------------------------------------ + ziphiusHandleQM = function() + local vHour = VanadielHour() + if vHour >= 7 and vHour < 22 then -- Despawn traps for Ziphius + for i = ID.npc.ZIPHIUS_QM_BASE, ID.npc.ZIPHIUS_QM_BASE+5 do + GetNPCByID(i):setStatus(tpz.status.DISAPPEAR) + GetNPCByID(i):resetLocalVars() + end + elseif vHour >= 22 or vHour < 4 then -- Spawn traps for Ziphius + local random = GetNPCByID(ID.npc.ZIPHIUS_QM_BASE + math.random(0, 5)) + if random:getStatus() == tpz.status.DISAPPEAR then + random:setLocalVar("[Ziphius]Spawn", 1) + end + for i = ID.npc.ZIPHIUS_QM_BASE, ID.npc.ZIPHIUS_QM_BASE+5 do + GetNPCByID(i):setStatus(tpz.status.NORMAL) + end + elseif vHour == 4 then -- Despawn non-baited traps + for i = ID.npc.ZIPHIUS_QM_BASE, ID.npc.ZIPHIUS_QM_BASE+5 do + if GetNPCByID(i):getLocalVar("[Ziphius]Baited") == 0 then + GetNPCByID(i):setStatus(tpz.status.DISAPPEAR) + end + end + end + end, + ------------------------------------ + -- Trade function for Ziphius NM QMs + ------------------------------------ + ziphiusOnTrade = function(player, npc, trade) + local baited = npc:getLocalVar("[Ziphius]Baited") == 1 + if not baited and npcUtil.tradeHas(trade, 16994) then -- Trade Slice of Carp + npc:setLocalVar("[Ziphius]Bait"..player:getName(), 1) + npc:setLocalVar("[Ziphius]Baited", 1) + player:confirmTrade() + player:messageSpecial(ID.text.PUT_IN_TRAP, 16994) + end + end, + ------------------------------------ + -- Spawn function for Ziphius NM QMs + ------------------------------------ + ziphiusOnTrigger = function(player, npc) + local baited = npc:getLocalVar("[Ziphius]Baited") == 1 + local baitedByPlayer = npc:getLocalVar("[Ziphius]Bait"..player:getName()) == 1 + local vHour = VanadielHour() + if vHour >= 22 or vHour < 4 then + if not baited then + player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) + elseif baited and baitedByPlayer then + player:messageSpecial(ID.text.NOTHING_HERE_YET) + else + player:messageSpecial(ID.text.ALREADY_BAITED, 16994) + end + elseif vHour >= 4 and vHour < 7 then + if baitedByPlayer then + if npc:getLocalVar("[Ziphius]Spawn") == 1 then + npc:resetLocalVars() + npc:setStatus(tpz.status.DISAPPEAR) + SpawnMob(ID.mob.ZIPHIUS):updateClaim(player) + GetMobByID(ID.mob.ZIPHIUS):setPos(npc:getXPos(), npc:getYPos(), npc:getZPos()-1) + else + player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) + end + else + player:messageSpecial(ID.text.ALREADY_BAITED, 16994) + end + end + end, +} + +return MISAREAUX_COAST \ No newline at end of file diff --git a/scripts/zones/Misareaux_Coast/npcs/qm2.lua b/scripts/zones/Misareaux_Coast/npcs/qm2.lua index e7b17ad80e0..4c5d1d7fb79 100644 --- a/scripts/zones/Misareaux_Coast/npcs/qm2.lua +++ b/scripts/zones/Misareaux_Coast/npcs/qm2.lua @@ -3,51 +3,12 @@ -- NPC: ??? (Spawn Ziphius) -- !pos 76 -16 534 25 ----------------------------------- - -require("scripts/globals/npc_util") -local ID = require("scripts/zones/Misareaux_Coast/IDs") +local MISAREAUX_COAST = require("scripts/zones/Misareaux_Coast/globals") function onTrade(player,npc,trade) - local baited = npc:getLocalVar("[Ziphius]Bait Trap") - - -- Trade Slice of Carp - if (npcUtil.tradeHas(trade, 16994) and baited == 0) then - npc:setLocalVar("[Ziphius]Bait Trap", 1) - player:confirmTrade() - player:messageSpecial(ID.text.PUT_IN_TRAP, 16994) - else - player:messageSpecial(ID.text.NOTHING_HERE_YET) - end -end -function onTrigger(player,npc) - local baited = npc:getLocalVar("[Ziphius]Bait Trap") - - if VanadielHour() >= 22 or VanadielHour() < 4 then - if (baited == 0) then - player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) - else - player:messageSpecial(ID.text.NOTHING_HERE_YET) - end - elseif VanadielHour() >= 4 and VanadielHour() < 7 then - if (baited == 1) then - if (math.random(1,1000) <= 176) then - SpawnMob(ID.mob.ZIPHIUS):updateClaim(player) - GetMobByID(ID.mob.ZIPHIUS):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()-1) - npc:setStatus(tpz.status.DISAPPEAR) - else - player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) - end - npc:setLocalVar("[Ziphius]Bait Trap", 0) - else - player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) - end - end + MISAREAUX_COAST.ziphiusOnTrade(player, npc, trade) end -function onEventUpdate(player,csid,option) - -end - -function onEventFinish(player,csid,option) - +function onTrigger(player,npc) + MISAREAUX_COAST.ziphiusOnTrigger(player, npc) end \ No newline at end of file diff --git a/scripts/zones/Misareaux_Coast/npcs/qm3.lua b/scripts/zones/Misareaux_Coast/npcs/qm3.lua index a749465df20..b8552d379a8 100644 --- a/scripts/zones/Misareaux_Coast/npcs/qm3.lua +++ b/scripts/zones/Misareaux_Coast/npcs/qm3.lua @@ -3,51 +3,12 @@ -- NPC: ??? (Spawn Ziphius) -- !pos 102.5 -16 525 25 ----------------------------------- - -require("scripts/globals/npc_util") -local ID = require("scripts/zones/Misareaux_Coast/IDs") +local MISAREAUX_COAST = require("scripts/zones/Misareaux_Coast/globals") function onTrade(player,npc,trade) - local baited = npc:getLocalVar("[Ziphius]Bait Trap") - - -- Trade Slice of Carp - if (npcUtil.tradeHas(trade, 16994) and baited == 0) then - npc:setLocalVar("[Ziphius]Bait Trap", 1) - player:confirmTrade() - player:messageSpecial(ID.text.PUT_IN_TRAP, 16994) - else - player:messageSpecial(ID.text.NOTHING_HERE_YET) - end -end -function onTrigger(player,npc) - local baited = npc:getLocalVar("[Ziphius]Bait Trap") - - if VanadielHour() >= 22 or VanadielHour() < 4 then - if (baited == 0) then - player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) - else - player:messageSpecial(ID.text.NOTHING_HERE_YET) - end - elseif VanadielHour() >= 4 and VanadielHour() < 7 then - if (baited == 1) then - if (math.random(1,1000) <= 176) then - SpawnMob(ID.mob.ZIPHIUS):updateClaim(player) - GetMobByID(ID.mob.ZIPHIUS):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()-1) - npc:setStatus(tpz.status.DISAPPEAR) - else - player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) - end - npc:setLocalVar("[Ziphius]Bait Trap", 0) - else - player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) - end - end + MISAREAUX_COAST.ziphiusOnTrade(player, npc, trade) end -function onEventUpdate(player,csid,option) - -end - -function onEventFinish(player,csid,option) - +function onTrigger(player,npc) + MISAREAUX_COAST.ziphiusOnTrigger(player, npc) end \ No newline at end of file diff --git a/scripts/zones/Misareaux_Coast/npcs/qm4.lua b/scripts/zones/Misareaux_Coast/npcs/qm4.lua index 8552956b483..4f086374ed1 100644 --- a/scripts/zones/Misareaux_Coast/npcs/qm4.lua +++ b/scripts/zones/Misareaux_Coast/npcs/qm4.lua @@ -3,51 +3,12 @@ -- NPC: ??? (Spawn Ziphius) -- !pos 144.5 -16 520 25 ----------------------------------- - -require("scripts/globals/npc_util") -local ID = require("scripts/zones/Misareaux_Coast/IDs") +local MISAREAUX_COAST = require("scripts/zones/Misareaux_Coast/globals") function onTrade(player,npc,trade) - local baited = npc:getLocalVar("[Ziphius]Bait Trap") - - -- Trade Slice of Carp - if (npcUtil.tradeHas(trade, 16994) and baited == 0) then - npc:setLocalVar("[Ziphius]Bait Trap", 1) - player:confirmTrade() - player:messageSpecial(ID.text.PUT_IN_TRAP, 16994) - else - player:messageSpecial(ID.text.NOTHING_HERE_YET) - end -end -function onTrigger(player,npc) - local baited = npc:getLocalVar("[Ziphius]Bait Trap") - - if VanadielHour() >= 22 or VanadielHour() < 4 then - if (baited == 0) then - player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) - else - player:messageSpecial(ID.text.NOTHING_HERE_YET) - end - elseif VanadielHour() >= 4 and VanadielHour() < 7 then - if (baited == 1) then - if (math.random(1,1000) <= 176) then - SpawnMob(ID.mob.ZIPHIUS):updateClaim(player) - GetMobByID(ID.mob.ZIPHIUS):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()-1) - npc:setStatus(tpz.status.DISAPPEAR) - else - player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) - end - npc:setLocalVar("[Ziphius]Bait Trap", 0) - else - player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) - end - end + MISAREAUX_COAST.ziphiusOnTrade(player, npc, trade) end -function onEventUpdate(player,csid,option) - -end - -function onEventFinish(player,csid,option) - +function onTrigger(player,npc) + MISAREAUX_COAST.ziphiusOnTrigger(player, npc) end \ No newline at end of file diff --git a/scripts/zones/Misareaux_Coast/npcs/qm5.lua b/scripts/zones/Misareaux_Coast/npcs/qm5.lua index 8f9e393c60c..2cfe0d7907c 100644 --- a/scripts/zones/Misareaux_Coast/npcs/qm5.lua +++ b/scripts/zones/Misareaux_Coast/npcs/qm5.lua @@ -3,51 +3,12 @@ -- NPC: ??? (Spawn Ziphius) -- !pos 184.5 -16 517.5 25 ----------------------------------- - -require("scripts/globals/npc_util") -local ID = require("scripts/zones/Misareaux_Coast/IDs") +local MISAREAUX_COAST = require("scripts/zones/Misareaux_Coast/globals") function onTrade(player,npc,trade) - local baited = npc:getLocalVar("[Ziphius]Bait Trap") - - -- Trade Slice of Carp - if (npcUtil.tradeHas(trade, 16994) and baited == 0) then - npc:setLocalVar("[Ziphius]Bait Trap", 1) - player:confirmTrade() - player:messageSpecial(ID.text.PUT_IN_TRAP, 16994) - else - player:messageSpecial(ID.text.NOTHING_HERE_YET) - end -end -function onTrigger(player,npc) - local baited = npc:getLocalVar("[Ziphius]Bait Trap") - - if VanadielHour() >= 22 or VanadielHour() < 4 then - if (baited == 0) then - player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) - else - player:messageSpecial(ID.text.NOTHING_HERE_YET) - end - elseif VanadielHour() >= 4 and VanadielHour() < 7 then - if (baited == 1) then - if (math.random(1,1000) <= 176) then - SpawnMob(ID.mob.ZIPHIUS):updateClaim(player) - GetMobByID(ID.mob.ZIPHIUS):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()-1) - npc:setStatus(tpz.status.DISAPPEAR) - else - player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) - end - npc:setLocalVar("[Ziphius]Bait Trap", 0) - else - player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) - end - end + MISAREAUX_COAST.ziphiusOnTrade(player, npc, trade) end -function onEventUpdate(player,csid,option) - -end - -function onEventFinish(player,csid,option) - +function onTrigger(player,npc) + MISAREAUX_COAST.ziphiusOnTrigger(player, npc) end \ No newline at end of file diff --git a/scripts/zones/Misareaux_Coast/npcs/qm6.lua b/scripts/zones/Misareaux_Coast/npcs/qm6.lua index 4f7c7e9fa3d..7d33ab8f4b9 100644 --- a/scripts/zones/Misareaux_Coast/npcs/qm6.lua +++ b/scripts/zones/Misareaux_Coast/npcs/qm6.lua @@ -3,51 +3,12 @@ -- NPC: ??? (Spawn Ziphius) -- !pos 207 -16 479 25 ----------------------------------- - -require("scripts/globals/npc_util") -local ID = require("scripts/zones/Misareaux_Coast/IDs") +local MISAREAUX_COAST = require("scripts/zones/Misareaux_Coast/globals") function onTrade(player,npc,trade) - local baited = npc:getLocalVar("[Ziphius]Bait Trap") - - -- Trade Slice of Carp - if (npcUtil.tradeHas(trade, 16994) and baited == 0) then - npc:setLocalVar("[Ziphius]Bait Trap", 1) - player:confirmTrade() - player:messageSpecial(ID.text.PUT_IN_TRAP, 16994) - else - player:messageSpecial(ID.text.NOTHING_HERE_YET) - end -end -function onTrigger(player,npc) - local baited = npc:getLocalVar("[Ziphius]Bait Trap") - - if VanadielHour() >= 22 or VanadielHour() < 4 then - if (baited == 0) then - player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) - else - player:messageSpecial(ID.text.NOTHING_HERE_YET) - end - elseif VanadielHour() >= 4 and VanadielHour() < 7 then - if (baited == 1) then - if (math.random(1,1000) <= 176) then - SpawnMob(ID.mob.ZIPHIUS):updateClaim(player) - GetMobByID(ID.mob.ZIPHIUS):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()-1) - npc:setStatus(tpz.status.DISAPPEAR) - else - player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) - end - npc:setLocalVar("[Ziphius]Bait Trap", 0) - else - player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) - end - end + MISAREAUX_COAST.ziphiusOnTrade(player, npc, trade) end -function onEventUpdate(player,csid,option) - -end - -function onEventFinish(player,csid,option) - +function onTrigger(player,npc) + MISAREAUX_COAST.ziphiusOnTrigger(player, npc) end \ No newline at end of file diff --git a/scripts/zones/Misareaux_Coast/npcs/qm7.lua b/scripts/zones/Misareaux_Coast/npcs/qm7.lua index 2fd960d14c6..030a69d5e7c 100644 --- a/scripts/zones/Misareaux_Coast/npcs/qm7.lua +++ b/scripts/zones/Misareaux_Coast/npcs/qm7.lua @@ -3,51 +3,12 @@ -- NPC: ??? (Spawn Ziphius) -- !pos 253 -16 411.5 25 ----------------------------------- - -require("scripts/globals/npc_util") -local ID = require("scripts/zones/Misareaux_Coast/IDs") +local MISAREAUX_COAST = require("scripts/zones/Misareaux_Coast/globals") function onTrade(player,npc,trade) - local baited = npc:getLocalVar("[Ziphius]Bait Trap") - - -- Trade Slice of Carp - if (npcUtil.tradeHas(trade, 16994) and baited == 0) then - npc:setLocalVar("[Ziphius]Bait Trap", 1) - player:confirmTrade() - player:messageSpecial(ID.text.PUT_IN_TRAP, 16994) - else - player:messageSpecial(ID.text.NOTHING_HERE_YET) - end -end -function onTrigger(player,npc) - local baited = npc:getLocalVar("[Ziphius]Bait Trap") - - if VanadielHour() >= 22 or VanadielHour() < 4 then - if (baited == 0) then - player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) - else - player:messageSpecial(ID.text.NOTHING_HERE_YET) - end - elseif VanadielHour() >= 4 and VanadielHour() < 7 then - if (baited == 1) then - if (math.random(1,1000) <= 176) then - SpawnMob(ID.mob.ZIPHIUS):updateClaim(player) - GetMobByID(ID.mob.ZIPHIUS):setPos(npc:getXPos(),npc:getYPos(),npc:getZPos()-1) - npc:setStatus(tpz.status.DISAPPEAR) - else - player:messageSpecial(ID.text.DID_NOT_CATCH_ANYTHING) - end - npc:setLocalVar("[Ziphius]Bait Trap", 0) - else - player:messageSpecial(ID.text.APPEARS_TO_BE_TRAP) - end - end + MISAREAUX_COAST.ziphiusOnTrade(player, npc, trade) end -function onEventUpdate(player,csid,option) - -end - -function onEventFinish(player,csid,option) - +function onTrigger(player,npc) + MISAREAUX_COAST.ziphiusOnTrigger(player, npc) end \ No newline at end of file