mirror of
https://github.com/ErikasKontenis/SabrehavenServer.git
synced 2025-05-01 18:19:20 +02:00
introduce POI until entrance until the DL spawn
This commit is contained in:
parent
6e2fb1d34d
commit
332a88ae50
@ -1 +1 @@
|
|||||||
next: 17639
|
next: 17644
|
@ -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" />
|
||||||
|
@ -90,7 +90,11 @@ 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)
|
||||||
end
|
end
|
||||||
|
@ -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
|
||||||
|
33
data/actions/scripts/pits_of_inferno/oil.lua
Normal file
33
data/actions/scripts/pits_of_inferno/oil.lua
Normal 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
|
@ -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" />
|
||||||
|
20
data/movements/scripts/pits_of_inferno/holy_tible_tile.lua
Normal file
20
data/movements/scripts/pits_of_inferno/holy_tible_tile.lua
Normal 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.
Loading…
x
Reference in New Issue
Block a user