mirror of
https://github.com/ErikasKontenis/SabrehavenServer.git
synced 2025-10-15 15:04:53 +02:00
introduce changes from streamside fork
This commit is contained in:
@@ -21,3 +21,45 @@ end
|
||||
function Tile.isTile(self)
|
||||
return true
|
||||
end
|
||||
|
||||
function Tile.relocateTo(self, toPosition, pushMove, monsterPosition)
|
||||
if self:getPosition() == toPosition then
|
||||
return false
|
||||
end
|
||||
|
||||
if not Tile(toPosition) then
|
||||
return false
|
||||
end
|
||||
|
||||
for i = self:getThingCount() - 1, 0, -1 do
|
||||
local thing = self:getThing(i)
|
||||
if thing then
|
||||
if thing:isItem() then
|
||||
if ItemType(thing.itemid):isMovable() then
|
||||
thing:moveTo(toPosition)
|
||||
end
|
||||
elseif thing:isCreature() then
|
||||
if monsterPosition and thing:isMonster() then
|
||||
thing:teleportTo(monsterPosition, pushMove)
|
||||
else
|
||||
thing:teleportTo(toPosition, pushMove)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
return true
|
||||
end
|
||||
|
||||
function Tile:getPlayers()
|
||||
local players = {}
|
||||
local creatures = self:getCreatures()
|
||||
if (creatures) then
|
||||
for i = 1, #creatures do
|
||||
if (creatures[i]:isPlayer()) then
|
||||
table.insert(players, creatures[i])
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
return players
|
||||
end
|
Reference in New Issue
Block a user