diff --git a/New Text Document.txt b/New Text Document.txt index 71763ae..8fcf217 100644 --- a/New Text Document.txt +++ b/New Text Document.txt @@ -1 +1 @@ -next: 17639 \ No newline at end of file +next: 17644 \ No newline at end of file diff --git a/data/actions/actions.xml b/data/actions/actions.xml index 32dc466..a819a44 100644 --- a/data/actions/actions.xml +++ b/data/actions/actions.xml @@ -85,6 +85,9 @@ + + + diff --git a/data/actions/scripts/misc/fluids.lua b/data/actions/scripts/misc/fluids.lua index c3ce9d6..bf2bd42 100644 --- a/data/actions/scripts/misc/fluids.lua +++ b/data/actions/scripts/misc/fluids.lua @@ -90,7 +90,11 @@ function onUse(player, item, fromPosition, target, toPosition) elseif item:getFluidType() == FLUID_NONE then player:sendTextMessage(MESSAGE_STATUS_SMALL, "It is empty.") 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() item:transform(item:getId(), 0) end diff --git a/data/actions/scripts/misc/pick.lua b/data/actions/scripts/misc/pick.lua index 45a8467..89d7662 100644 --- a/data/actions/scripts/misc/pick.lua +++ b/data/actions/scripts/misc/pick.lua @@ -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) local tile = Tile(toPosition) if not tile then @@ -29,6 +77,13 @@ function onUse(player, item, fromPosition, target, toPosition) Game.sendMagicEffect({x = 32356, y = 32074, z = 10}, 3) doTargetCombatHealth(0, player, COMBAT_PHYSICALDAMAGE, -50, -50) 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 return false end diff --git a/data/actions/scripts/pits_of_inferno/oil.lua b/data/actions/scripts/pits_of_inferno/oil.lua new file mode 100644 index 0000000..d217d76 --- /dev/null +++ b/data/actions/scripts/pits_of_inferno/oil.lua @@ -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 \ No newline at end of file diff --git a/data/movements/movements.xml b/data/movements/movements.xml index 675fac7..67bf0f8 100644 --- a/data/movements/movements.xml +++ b/data/movements/movements.xml @@ -395,6 +395,9 @@ + + + diff --git a/data/movements/scripts/pits_of_inferno/holy_tible_tile.lua b/data/movements/scripts/pits_of_inferno/holy_tible_tile.lua new file mode 100644 index 0000000..eea4588 --- /dev/null +++ b/data/movements/scripts/pits_of_inferno/holy_tible_tile.lua @@ -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 diff --git a/data/world792/map.otbm b/data/world792/map.otbm index e1b20fc..96e3a1e 100644 Binary files a/data/world792/map.otbm and b/data/world792/map.otbm differ