introduce POI until entrance until the DL spawn

This commit is contained in:
ErikasKontenis 2020-04-08 23:26:51 +03:00
parent 6e2fb1d34d
commit 332a88ae50
8 changed files with 120 additions and 2 deletions

View File

@ -1 +1 @@
next: 17639 next: 17644

View File

@ -85,6 +85,9 @@
<action actionid="82" script="nostalrius/82.lua" /> <action actionid="82" script="nostalrius/82.lua" />
<action actionid="83" script="nostalrius/83.lua" /> <action actionid="83" script="nostalrius/83.lua" />
<!-- Pits of Inferno -->
<action actionid="17642" script="pits_of_inferno/oil.lua" />
<!-- Serpentine Tower --> <!-- Serpentine Tower -->
<action actionid="17597" script="serpentine_tower/release_fire_elemental.lua" /> <action actionid="17597" script="serpentine_tower/release_fire_elemental.lua" />
<action actionid="17598" script="serpentine_tower/release_vampire.lua" /> <action actionid="17598" script="serpentine_tower/release_vampire.lua" />

View File

@ -90,6 +90,10 @@ function onUse(player, item, fromPosition, target, toPosition)
elseif item:getFluidType() == FLUID_NONE then elseif item:getFluidType() == FLUID_NONE then
player:sendTextMessage(MESSAGE_STATUS_SMALL, "It is empty.") player:sendTextMessage(MESSAGE_STATUS_SMALL, "It is empty.")
else else
if item:getFluidType() == FLUID_BLOOD and target:getActionId() == 17639 then
doRelocate({x = 32791, y = 32334, z = 09}, {x = 32791, y = 32332, z = 10})
Position({x = 32791, y = 32332, z = 10}):sendMonsterSay("Muahahahaha...")
end
Game.createItem(2886, item.type, toPosition):decay() Game.createItem(2886, item.type, toPosition):decay()
item:transform(item:getId(), 0) item:transform(item:getId(), 0)

View File

@ -1,3 +1,51 @@
local pitsOfInfernoLava = {
Position(32808, 32336, 11),
Position(32809, 32336, 11),
Position(32810, 32336, 11),
Position(32808, 32334, 11),
Position(32807, 32334, 11),
Position(32807, 32335, 11),
Position(32807, 32336, 11),
Position(32807, 32337, 11),
Position(32806, 32337, 11),
Position(32805, 32337, 11),
Position(32805, 32338, 11),
Position(32805, 32339, 11),
Position(32806, 32339, 11),
Position(32806, 32338, 11),
Position(32807, 32338, 11),
Position(32808, 32338, 11),
Position(32808, 32337, 11),
Position(32809, 32337, 11),
Position(32810, 32337, 11),
Position(32811, 32337, 11),
Position(32811, 32338, 11),
Position(32806, 32338, 11),
Position(32810, 32338, 11),
Position(32810, 32339, 11),
Position(32809, 32339, 11),
Position(32809, 32338, 11),
Position(32811, 32336, 11),
Position(32811, 32335, 11),
Position(32810, 32335, 11),
Position(32809, 32335, 11),
Position(32808, 32335, 11),
Position(32809, 32334, 11),
Position(32809, 32333, 11),
Position(32810, 32333, 11),
Position(32811, 32333, 11),
Position(32806, 32338, 11),
Position(32810, 32334, 11),
Position(32811, 32334, 11),
Position(32812, 32334, 11),
Position(32813, 32334, 11),
Position(32812, 32333, 11),
Position(32810, 32334, 11),
Position(32812, 32335, 11),
Position(32813, 32335, 11),
Position(32813, 32333, 11)
}
function onUse(player, item, fromPosition, target, toPosition) function onUse(player, item, fromPosition, target, toPosition)
local tile = Tile(toPosition) local tile = Tile(toPosition)
if not tile then if not tile then
@ -29,6 +77,13 @@ function onUse(player, item, fromPosition, target, toPosition)
Game.sendMagicEffect({x = 32356, y = 32074, z = 10}, 3) Game.sendMagicEffect({x = 32356, y = 32074, z = 10}, 3)
doTargetCombatHealth(0, player, COMBAT_PHYSICALDAMAGE, -50, -50) doTargetCombatHealth(0, player, COMBAT_PHYSICALDAMAGE, -50, -50)
return true return true
elseif target:getActionId() == 17643 then
for i = 1, #pitsOfInfernoLava do
Game.createItem(5815, 1, pitsOfInfernoLava[i])
end
target:transform(3141)
toPosition:sendMagicEffect(CONST_ME_POFF)
return true
end end
return false return false
end end

View File

@ -0,0 +1,33 @@
local bridgePosition = Position(32801, 32336, 11)
local function revertBridge()
Tile(bridgePosition):getItemById(409):transform(622)
end
local function revertLever(position)
local leverItem = Tile(position):getItemById(2773)
if leverItem then
leverItem:transform(2772)
end
end
function onUse(player, item, fromPosition, target, toPosition, isHotkey)
if item.itemid ~= 2772 then
return false
end
if not Tile(Position(32795, 32337, 11)):getItemById(2886, FLUID_OIL) then
player:say('The lever is creaking and rusty.', TALKTYPE_MONSTER_SAY)
return true
end
local water = Tile(bridgePosition):getItemById(622)
if water then
water:transform(409)
addEvent(revertBridge, 10 * 60 * 1000)
end
item:transform(2773)
addEvent(revertLever, 10 * 60 * 1000, toPosition)
return true
end

View File

@ -395,6 +395,9 @@
<movevent event="StepIn" itemid="5764" script="misc/drowning.lua" /> <movevent event="StepIn" itemid="5764" script="misc/drowning.lua" />
<movevent event="StepOut" itemid="5764" script="misc/drowning.lua"/> <movevent event="StepOut" itemid="5764" script="misc/drowning.lua"/>
<!-- Pits of Inferno -->
<movevent event="StepIn" frommovementid="17640" tomovementid="17641" script="pits_of_inferno/holy_tible_tile.lua" />
<!-- Serpentine Tower --> <!-- Serpentine Tower -->
<movevent event="StepIn" frommovementid="17602" tomovementid="17603" script="serpentine_tower/final_tile.lua" /> <movevent event="StepIn" frommovementid="17602" tomovementid="17603" script="serpentine_tower/final_tile.lua" />
<movevent event="RemoveItem" movementid="17605" tileitem="1" script="serpentine_tower/take_waterwalking_boots.lua" /> <movevent event="RemoveItem" movementid="17605" tileitem="1" script="serpentine_tower/take_waterwalking_boots.lua" />

View File

@ -0,0 +1,20 @@
local destinations = {
[17640] = Position(32791, 32327, 10),
[17641] = Position(32791, 32331, 10)
}
function onStepIn(creature, item, position, fromPosition)
local player = creature:getPlayer()
if not player then
return false
end
if player:getItemCount(2836) < 1 then
player:teleportTo(fromPosition)
return true
end
player:teleportTo(destinations[item:getMovementId()])
player:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
return true
end

Binary file not shown.