mirror of
https://github.com/2006-Scape/apollo.git
synced 2026-07-04 00:38:11 +00:00
Fix grouped region updating. Will need to account for re-adding StaticObjects after they have been removed from the game world. Also commented out some broken functionality in bootstrap involving first/second/third/etc message handlers. Should revisit with fix.
This commit is contained in:
@@ -13,12 +13,12 @@ class OpenDoorAction < DistancedAction
|
||||
|
||||
def executeAction
|
||||
mob.turn_to(@door.position)
|
||||
DoorUtil::toggle(@door, mob)
|
||||
DoorUtil::toggle(@door)
|
||||
stop
|
||||
end
|
||||
|
||||
def equals(other)
|
||||
return (get_class == other.get_class && @door_object == other.door_object)
|
||||
return (get_class == other.get_class && @door == other.door)
|
||||
end
|
||||
|
||||
end
|
||||
@@ -28,6 +28,7 @@ on :message, :first_object_action do |player, message|
|
||||
if DoorUtil::is_door?(message.id)
|
||||
puts "Player: #{player.position}, door: #{message.position}"
|
||||
door = DoorUtil::get_door_object(message.position, message.id)
|
||||
player.start_action(OpenDoorAction.new(player, door)) unless door.nil?
|
||||
DoorUtil::toggle(door) unless door.nil?
|
||||
# player.start_action(OpenDoorAction.new(player, door)) unless door.nil?
|
||||
end
|
||||
end
|
||||
@@ -46,7 +46,7 @@ module DoorUtil
|
||||
end
|
||||
|
||||
# Toggles the given door.
|
||||
def self.toggle(door, player)
|
||||
def self.toggle(door)
|
||||
position = door.position
|
||||
region = $world.region_repository.from_position(position)
|
||||
region.remove_entity(door)
|
||||
@@ -59,7 +59,7 @@ module DoorUtil
|
||||
else
|
||||
toggled_position = translate_door_position(door)
|
||||
toggled_orientation = translate_door_orientation(door)
|
||||
toggled_door = DynamicGameObject.createPublic(door.id, toggled_position, door.type, toggled_orientation)
|
||||
toggled_door = DynamicGameObject.createPublic($world, door.id, toggled_position, door.type, toggled_orientation)
|
||||
|
||||
toggled_region = $world.region_repository.from_position(toggled_position)
|
||||
toggled_region.add_entity(toggled_door)
|
||||
|
||||
Reference in New Issue
Block a user