This commit is contained in:
karl 2020-01-26 00:52:44 +01:00
commit 5f4bb0ffa4
9 changed files with 265 additions and 171 deletions

View File

@ -4,77 +4,175 @@ extends NPC
export(NodePath) var _visibility_path: NodePath export(NodePath) var _visibility_path: NodePath
export(int) var _player_follow_pill_level = 3 export(int) var _player_follow_pill_level = 3
var _visibility: Area const MAX_CMDS = 5 # maximum repeaded commands before Meldewesen gets piss
var _playerRef const CMD_DIFF_MS = 4000 # time in ms before new command
var _audioPlayer: AudioStreamPlayer3D
enum BEHAVIOR {
NORMAL = 0,
GO_WORK = 1,
GO_HOME = 2,
TAKE_PILLS = 3,
DO_JOB = 4,
ANGRY = 5
}
var _curMood # current set behavior
var _visibility: Area
var _interactArea: Area
var _audioPlayer: AudioStreamPlayer3D
var _playerRef
var _followingPlayer = false # true if Meldewesen finds player "suspicios" and follows
var _huntingPlayer = false # active if the Meldewesen wants to "catch" the player
var _seeingPlayer = false # as long as player is in visible range
var _lastSound = 0 # timestamp of last played message
var _countCmds = 0 # count of spoken commands -> after MAX_CMDS Meldewesen gets pissy
func _ready(): func _ready():
Logger.set_logger_level(Logger.LOG_LEVEL_FINE) Logger.set_logger_level(Logger.LOG_LEVEL_FINE)
_visibility = get_node(_visibility_path) as Area
_audioPlayer = get_node("AudioStreamPlayer3D") as AudioStreamPlayer3D _audioPlayer = get_node("AudioStreamPlayer3D") as AudioStreamPlayer3D
assert(null != _audioPlayer)
if _visibility: _visibility = get_node(_visibility_path) as Area
_visibility.connect("body_entered", self, "_on_body_entered_visibility") assert(null != _visibility)
_visibility.connect("body_exited", self, "_on_body_exited_visibility") _visibility.connect("body_entered", self, "_on_body_entered_visibility")
_visibility.connect("body_exited", self, "_on_body_exited_visibility")
# setup collisions with player
var _interactArea = get_node("InteractArea") as Area
assert(null != _interactArea)
_interactArea.connect("area_entered", self, "_on_area_entered")
# TODO: does this implementation have to be that way? # TODO: does this implementation have to be that way?
for player in get_tree().get_nodes_in_group("Player"): for player in get_tree().get_nodes_in_group("Player"):
_playerRef = player if player.is_class("KinematicBody"):
_playerRef = player
break
assert(null != _playerRef)
func _process(_delta): func _process(_delta):
# movement
if current_target: if current_target:
# stop following player if pill level is high enough and player is not in an illegal area # continue following player after illegal action or low pill level
if Pills.get_round_level() > _player_follow_pill_level and _playerRef.Is_in_Illegal_Area() == false: if _huntingPlayer or (_followingPlayer and Pills.get_round_level() <= _player_follow_pill_level):
Logger.info("player pill level ok and no illegal actions detected!")
current_target = null
# otherwise set new position of player
else:
current_target = _playerRef.transform.origin current_target = _playerRef.transform.origin
# stop following player if pill level is high enough and player is not in an illegal area
else:
Logger.info("player pill level ok and no illegal actions detected!")
_followingPlayer = false
current_target = null
if _seeingPlayer:
# logic
_set_behavior()
# audio
if _audioPlayer.stream != null:
var cur_time = OS.get_ticks_msec()
if cur_time - _lastSound > CMD_DIFF_MS:
_audioPlayer.play()
_lastSound = cur_time
_countCmds += 1
func _on_body_entered_visibility(body: PhysicsBody): func _on_area_entered (area: Area):
if area.is_in_group("Player") and _huntingPlayer:
Logger.info("caught player!")
Daytime.emit_signal("respawn")
func _load_sound ():
match _curMood:
BEHAVIOR.NORMAL:
_audioPlayer.stream = null
BEHAVIOR.GO_WORK:
Logger.info("say go to work")
_audioPlayer.stream = load("res://Resources/Audio/to-work.wav")
BEHAVIOR.GO_HOME:
Logger.info("say go home")
_audioPlayer.stream = load("res://Resources/Audio/go-home.wav")
BEHAVIOR.TAKE_PILLS:
Logger.info("say take your pills")
_audioPlayer.stream = load("res://Resources/Audio/take-pills.wav")
BEHAVIOR.DO_JOB:
Logger.info("say do your job")
_audioPlayer.stream = load("res://Resources/Audio/do-job.wav")
BEHAVIOR.ANGRY:
Logger.info("say stop!")
_audioPlayer.stream = load("res://Resources/Audio/Stop you violated the law.wav")
func _set_behavior ():
if _huntingPlayer == false:
var reason = null
if _playerRef.IsHunted: # player is already marked by another Meldewesen
reason = "player is haunted"
elif _playerRef.is_in_illegalzone(): # player is in illegal area
reason = "player is haunted in illegal area"
elif Pills.get_round_level() == 0: # player has taken no pills in a while
reason = "player's pill level is zero"
get_tree().change_scene("res://Level/PathTestWorld.tscn")
# TODO: outside after WORK_TIME
#elif daytime < Daytime.WORK_TIME:
# TODO: at work after SLEEP_TIME
#elif daytime > Daytime.SLEEP_TIME:
elif _countCmds > MAX_CMDS: # after MAX_CMDS repeats of the same command
reason = "player is seemingly not coorperativ"
# mark player for all other Meldewesen if seen during illegal action
if reason != null:
Logger.info("catch player! reason: " + reason)
_huntingPlayer = true
_playerRef.IsHunted = true
if _followingPlayer == false:
# If the player didn't take enough pills lately, they're suspicious -> following
if Pills.get_round_level() <= _player_follow_pill_level:
Logger.info("The player's pill level is too low - following!")
_followingPlayer = true
if _huntingPlayer or _followingPlayer:
current_target = _playerRef.transform.origin
var mood = BEHAVIOR.NORMAL
var daytime = Daytime.get_time()
if _playerRef.IsHunted:
mood = BEHAVIOR.ANGRY
# do your job
elif _playerRef.is_in_workzone():
mood = BEHAVIOR.DO_JOB
# take your pills
elif Pills.get_level() < Pills.get_max()*0.5:
mood = BEHAVIOR.TAKE_PILLS
# go to work
elif daytime < Daytime.WORK_TIME:
mood = BEHAVIOR.GO_WORK
# go home
elif daytime > Daytime.SLEEP_TIME:
mood = BEHAVIOR.GO_HOME
if mood != _curMood:
Logger.info("new mood: " + BEHAVIOR.keys()[mood] + " with cntcmd: " + String(_countCmds))
_countCmds = 0
_curMood = mood
_load_sound()
func _on_body_entered_visibility (body: PhysicsBody):
#Logger.trace("Meldewesen seeing %s" % [body]) #Logger.trace("Meldewesen seeing %s" % [body])
if body.is_in_group("Player"): if body.is_in_group("Player"):
Logger.info("Seeing player!") Logger.info("Seeing player!")
_seeingPlayer = true
_audioPlayer.stream = null _set_behavior()
var daytime = Daytime.get_time()
# do your job
if body.is_in_workzone():
Logger.info("say do your job")
_audioPlayer.stream = load("res://Resources/Audio/do-job.wav")
# take your pills
elif Pills.get_level() < Pills.get_max()*0.1:
Logger.info("say take your pills")
_audioPlayer.stream = load("res://Resources/Audio/take-pills.wav")
# go to work
elif daytime < Daytime.get_max()*0.3:
Logger.info("say go to work")
_audioPlayer.stream = load("res://Resources/Audio/to-work.wav")
# go home
elif daytime > Daytime.get_max()*0.6:
Logger.info("say go home")
_audioPlayer.stream = load("res://Resources/Audio/go-home.wav")
if _audioPlayer.stream != null:
Logger.info("say play sound")
_audioPlayer.play();
#yield(audioplayer, "finished")
# check if player is in illegal area
if _playerRef.Is_in_Illegal_Area():
Logger.info("player is in illegal area - following!")
current_target = body.transform.origin
# If the player didn't take enough pills lately, they're suspicious -> Run towards them!
elif Pills.get_round_level() <= _player_follow_pill_level:
Logger.info("The player's pill level is too low - following!")
current_target = body.transform.origin
func _on_body_exited_visibility(body: PhysicsBody): func _on_body_exited_visibility(body: PhysicsBody):
if body.is_in_group("Player"): if body.is_in_group("Player"):
Logger.info("Stopped seeing player!") Logger.info("Stopped seeing player!")
current_target = null _seeingPlayer = false
_countCmds = 0
if _huntingPlayer == false and _followingPlayer == false:
current_target = null

View File

@ -60,21 +60,21 @@ collision_layer = 4
collision_mask = 4 collision_mask = 4
[node name="VisibilityCone" type="MeshInstance" parent="Visibility"] [node name="VisibilityCone" type="MeshInstance" parent="Visibility"]
transform = Transform( 1, 0, 0, 0, 0, 1, 0, -1, 0, 0, 2, -3 ) transform = Transform( 1, 0, 0, 0, -8.74228e-008, 1, 0, -2, -4.37114e-008, 0, 2, -6 )
layers = 3 layers = 3
mesh = SubResource( 6 ) mesh = SubResource( 6 )
material/0 = null material/0 = null
[node name="CollisionShape" type="CollisionShape" parent="Visibility"] [node name="CollisionShape" type="CollisionShape" parent="Visibility"]
transform = Transform( 1, 0, 0, 0, -4.37114e-008, 1, 0, -1, -4.37114e-008, 0, 2, -3 ) transform = Transform( 1, 0, 0, 0, -8.74228e-008, 1, 0, -2, -4.37114e-008, 0, 2, -6 )
shape = SubResource( 7 ) shape = SubResource( 7 )
[node name="Area" type="Area" parent="." groups=[ [node name="InteractArea" type="Area" parent="." groups=[
"Enemy", "Enemy",
]] ]]
[node name="CollisionShape" type="CollisionShape" parent="Area"] [node name="CollisionShape" type="CollisionShape" parent="InteractArea"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 ) transform = Transform( 1.2, 0, 0, 0, 1, 0, 0, 0, 1.2, 0, 1, 0 )
shape = SubResource( 8 ) shape = SubResource( 8 )
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."] [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."]

View File

@ -34,10 +34,12 @@ var _illegal_areas : int
var _save_areas : int var _save_areas : int
var _work_areas : int var _work_areas : int
var _prev_look var _prev_look
# TODO: move to global
var _inventory: Control var _inventory: Control
# public properties
#var IsSuspicios # not needed > Meldewesen handles themselves
var IsHunted # player is beeing flagged if one Meldewesen sees an illegal action
func is_in_illegalzone (): func is_in_illegalzone ():
return _illegal_areas > 0 return _illegal_areas > 0
@ -193,22 +195,7 @@ func _input(event):
_camera.rotation_degrees.x = clamp(_camera.rotation_degrees.x, -70, 70) _camera.rotation_degrees.x = clamp(_camera.rotation_degrees.x, -70, 70)
func _on_area_entered (area: Area): func _on_area_entered (area: Area):
if area.is_in_group("Enemy"): if area.is_in_group("Forbidden"):
Logger.info("ermahgerd they touched :-o !")
if _illegal_areas > 0: # or Pills.get_level() == 0: #< Pills.get_max() * 0.5:
# TODO: check why this does not work as intended:
#var player = AudioStreamPlayer3D.new()
#var audio_file = "res://Resources/Audio/dino-eat.wav"
#player.stream = load("res://Resources/Audio/dino-eat.wav")
#add_child(player)
#Logger.info("should play sound again?")
#player.play()
#remove_child(player)
#player. queue_free()
get_node("AudioStreamPlayer3D").play()
yield(get_node("AudioStreamPlayer3D"), "finished")
_on_respawn() # TODO: also raise if Meldewesen is looking at player and pill level reaches treshold!
elif area.is_in_group("Forbidden"):
Logger.info("entering forbidden area!") Logger.info("entering forbidden area!")
_illegal_areas += 1 _illegal_areas += 1
elif area.is_in_group("Savehouse"): elif area.is_in_group("Savehouse"):
@ -249,8 +236,3 @@ func _on_respawn ():
get_tree().reload_current_scene() get_tree().reload_current_scene()
_inventory.show() _inventory.show()
func Is_in_Illegal_Area ():
#Logger.info("illegal areas: " + String(_illegal_areas))
return _illegal_areas > 0

View File

@ -35,7 +35,9 @@ shader_param/mask = ExtResource( 5 )
[sub_resource type="CylinderShape" id=5] [sub_resource type="CylinderShape" id=5]
[sub_resource type="Animation" id=6] [sub_resource type="CylinderShape" id=6]
[sub_resource type="Animation" id=7]
length = 0.8 length = 0.8
loop = true loop = true
tracks/0/type = "value" tracks/0/type = "value"
@ -68,7 +70,7 @@ tracks/1/keys = {
} ] } ]
} }
[sub_resource type="Animation" id=7] [sub_resource type="Animation" id=8]
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/path = NodePath("PillTaker/Pills:visible") tracks/0/path = NodePath("PillTaker/Pills:visible")
tracks/0/interp = 1 tracks/0/interp = 1
@ -134,8 +136,7 @@ tracks/4/keys = {
} ] } ]
} }
[sub_resource type="Animation" id=8] [sub_resource type="Animation" id=9]
resource_name = "FadeOut"
length = 2.0 length = 2.0
tracks/0/type = "value" tracks/0/type = "value"
tracks/0/path = NodePath(".:material:shader_param/cutoff") tracks/0/path = NodePath(".:material:shader_param/cutoff")
@ -150,12 +151,10 @@ tracks/0/keys = {
"values": [ 1.0, 0.5, 0.7, 0.0 ] "values": [ 1.0, 0.5, 0.7, 0.0 ]
} }
[sub_resource type="AudioStreamRandomPitch" id=9] [sub_resource type="AudioStreamRandomPitch" id=10]
audio_stream = ExtResource( 9 ) audio_stream = ExtResource( 9 )
random_pitch = 1.3 random_pitch = 1.3
[sub_resource type="CylinderShape" id=10]
[node name="Player" type="KinematicBody" groups=[ [node name="Player" type="KinematicBody" groups=[
"Player", "Player",
]] ]]
@ -172,6 +171,7 @@ camera_nodepath = NodePath("Body/PillCameras")
[node name="Body" type="Spatial" parent="."] [node name="Body" type="Spatial" parent="."]
[node name="PillCameras" type="Spatial" parent="Body"] [node name="PillCameras" type="Spatial" parent="Body"]
editor/display_folded = true
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0461721, 1.84617, 0 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0461721, 1.84617, 0 )
script = ExtResource( 2 ) script = ExtResource( 2 )
@ -229,18 +229,26 @@ remote_path = NodePath("../MaskedView/MaskedCamera")
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 )
shape = SubResource( 5 ) shape = SubResource( 5 )
[node name="InteractArea" type="Area" parent="." groups=[
"Player",
]]
[node name="CollisionShape" type="CollisionShape" parent="InteractArea"]
transform = Transform( 1.2, 0, 0, 0, 1, 0, 0, 0, 1.2, 0, 1, 0 )
shape = SubResource( 6 )
[node name="WalkAnimationPlayer" type="AnimationPlayer" parent="."] [node name="WalkAnimationPlayer" type="AnimationPlayer" parent="."]
autoplay = "Walk" autoplay = "Walk"
anims/Walk = SubResource( 6 ) anims/Walk = SubResource( 7 )
[node name="PillAnimationPlayer" type="AnimationPlayer" parent="."] [node name="PillAnimationPlayer" type="AnimationPlayer" parent="."]
playback_speed = 2.0 playback_speed = 2.0
anims/PillTaking = SubResource( 7 ) anims/PillTaking = SubResource( 8 )
[node name="FadeOutAnimationPlayer" type="AnimationPlayer" parent="."] [node name="FadeOutAnimationPlayer" type="AnimationPlayer" parent="."]
root_node = NodePath("../Body/PillCameras/ScreenTextureFadeOut") root_node = NodePath("../Body/PillCameras/ScreenTextureFadeOut")
playback_speed = 2.0 playback_speed = 2.0
anims/FadeOut = SubResource( 8 ) anims/FadeOut = SubResource( 9 )
[node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."] [node name="AudioStreamPlayer3D" type="AudioStreamPlayer3D" parent="."]
stream = ExtResource( 7 ) stream = ExtResource( 7 )
@ -256,7 +264,7 @@ script = ExtResource( 8 )
[node name="Footstep1" type="AudioStreamPlayer3D" parent="Footsteps"] [node name="Footstep1" type="AudioStreamPlayer3D" parent="Footsteps"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1 )
stream = SubResource( 9 ) stream = SubResource( 10 )
unit_db = -25.0 unit_db = -25.0
pitch_scale = 1.5 pitch_scale = 1.5
@ -270,10 +278,4 @@ script = ExtResource( 11 )
transform = Transform( 0.1, 0, 0, 0, -4.37114e-09, 0.1, 0, -0.1, -4.37114e-09, 0, 0.7, 0 ) transform = Transform( 0.1, 0, 0, 0, -4.37114e-09, 0.1, 0, -0.1, -4.37114e-09, 0, 0.7, 0 )
visible = false visible = false
[node name="InteractArea" type="Area" parent="."]
[node name="CollisionShape" type="CollisionShape" parent="InteractArea"]
transform = Transform( 1.2, 0, 0, 0, 1, 0, 0, 0, 1.2, 0, 1, 0 )
shape = SubResource( 10 )
[editable path="HUD"] [editable path="HUD"]

View File

@ -26,7 +26,6 @@ func _ready():
func add_item (name): func add_item (name):
Logger.info("Adding item \"" + name + "\" to inventory") Logger.info("Adding item \"" + name + "\" to inventory")
#TODO: global member for inventory?
var text var text
if name == "Key": if name == "Key":
text = _keyTexture text = _keyTexture
@ -46,4 +45,5 @@ func _process(_delta):
_labelDayTime.text = "dayTime: " + String(val) + " - %02d:%02d" % [val/60%24, val%60] _labelDayTime.text = "dayTime: " + String(val) + " - %02d:%02d" % [val/60%24, val%60]
_dayTime.value = Daytime.get_time() _dayTime.value = Daytime.get_time()
_dayTimeVisual.rect_rotation = (val/_dayTime.max_value) * 360 #pivot offset x=67, y = 7 #_dayTimeVisual.rect_rotation = (val/_dayTime.max_value) * 360 #pivot offset x=67, y = 7
_dayTimeVisual.rect_rotation = (val/_dayTime.max_value) * 180

View File

@ -68,6 +68,7 @@ margin_left = 466.0
margin_top = -82.0 margin_top = -82.0
margin_right = 646.0 margin_right = 646.0
margin_bottom = 98.0 margin_bottom = 98.0
rect_rotation = 180.0
rect_pivot_offset = Vector2( 90, 90 ) rect_pivot_offset = Vector2( 90, 90 )
texture = ExtResource( 4 ) texture = ExtResource( 4 )
expand = true expand = true

View File

@ -1,8 +1,11 @@
extends Node extends Node
const _increase_per_second: float = 0.0 #0.5 const _increase_per_second: float = 5.0 #0.5
const _max: int = 1440 # 24 hour + 60 mins const _max: int = 1440 # 24 hour + 60 mins
const WORK_TIME = _max * 0.3
const SLEEP_TIME = _max * 0.6
var _time: float setget _set_time, get_time var _time: float setget _set_time, get_time
signal respawn signal respawn

View File

@ -3,7 +3,7 @@ extends Node
var _level: float setget _set_level, get_level var _level: float setget _set_level, get_level
var _min: float = 0.0 var _min: float = 0.0
var _max: float = 7.0 var _max: float = 6.0
var _decrease_per_second: float = 0.2 var _decrease_per_second: float = 0.2
var _pill_add_amount: float = 2.0 var _pill_add_amount: float = 2.0

View File

@ -1,17 +1,17 @@
[gd_scene load_steps=21 format=2] [gd_scene load_steps=21 format=2]
[ext_resource path="res://Characters/Player/Player.tscn" type="PackedScene" id=1] [ext_resource path="res://Characters/Player/Player.tscn" type="PackedScene" id=1]
[ext_resource path="res://Level/Interactables/Keycard/Keycard.tscn" type="PackedScene" id=2] [ext_resource path="res://Characters/Meldewesen/Meldewesen.tscn" type="PackedScene" id=2]
[ext_resource path="res://Level/Interactables/Key/Key.tscn" type="PackedScene" id=3] [ext_resource path="res://Level/Interactables/Keycard/Keycard.tscn" type="PackedScene" id=3]
[ext_resource path="res://Level/Interactables/Door/Door.tscn" type="PackedScene" id=4] [ext_resource path="res://Level/Interactables/Key/Key.tscn" type="PackedScene" id=4]
[ext_resource path="res://Level/Interactables/Lever/Lever.tscn" type="PackedScene" id=5] [ext_resource path="res://Level/Interactables/Door/Door.tscn" type="PackedScene" id=5]
[ext_resource path="res://Level/Buildings/PlayerHouse.tscn" type="PackedScene" id=6] [ext_resource path="res://Level/Interactables/Lever/Lever.tscn" type="PackedScene" id=6]
[ext_resource path="res://Level/Buildings/BuildingBlock.tscn" type="PackedScene" id=7] [ext_resource path="res://Level/Buildings/PlayerHouse.tscn" type="PackedScene" id=7]
[ext_resource path="res://Level/Buildings/MeldewesenHome.tscn" type="PackedScene" id=8] [ext_resource path="res://Level/Buildings/BuildingBlock.tscn" type="PackedScene" id=8]
[ext_resource path="res://Level/Buildings/Factory.tscn" type="PackedScene" id=9] [ext_resource path="res://Level/Buildings/MeldewesenHome.tscn" type="PackedScene" id=9]
[ext_resource path="res://Util/NodeGroupNotifier.tscn" type="PackedScene" id=10] [ext_resource path="res://Level/Buildings/Factory.tscn" type="PackedScene" id=10]
[ext_resource path="res://Characters/Util/PathNavigatorForNPC.tscn" type="PackedScene" id=11] [ext_resource path="res://Util/NodeGroupNotifier.tscn" type="PackedScene" id=11]
[ext_resource path="res://Characters/Meldewesen/Meldewesen.tscn" type="PackedScene" id=12] [ext_resource path="res://Characters/Util/PathNavigatorForNPC.tscn" type="PackedScene" id=12]
[ext_resource path="res://Util/AmbiencePlayer.tscn" type="PackedScene" id=13] [ext_resource path="res://Util/AmbiencePlayer.tscn" type="PackedScene" id=13]
[sub_resource type="BoxShape" id=1] [sub_resource type="BoxShape" id=1]
@ -44,19 +44,25 @@ _data = {
[node name="Player" parent="." instance=ExtResource( 1 )] [node name="Player" parent="." instance=ExtResource( 1 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 7 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 7 )
[node name="Enemies" type="Node" parent="."]
[node name="Meldewesen2" parent="Enemies" instance=ExtResource( 2 )]
transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, -3.88156, 0, 14.5424 )
_visibility_path = NodePath("../../Enemies/Meldewesen2/Visibility")
[node name="Collectibles" type="Spatial" parent="."] [node name="Collectibles" type="Spatial" parent="."]
editor/display_folded = true
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 15.0831, 1.63203, 13.0809 ) transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 15.0831, 1.63203, 13.0809 )
[node name="Keycard" parent="Collectibles" groups=[ [node name="Keycard" parent="Collectibles" groups=[
"Collectibles", "Collectibles",
] instance=ExtResource( 2 )] ] instance=ExtResource( 3 )]
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 203.861, -0.63203, 110.591 ) transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 203.861, -0.63203, 110.591 )
card_lvl = 1 card_lvl = 1
[node name="Key" parent="Collectibles" groups=[ [node name="Key" parent="Collectibles" groups=[
"Collectibles", "Collectibles",
] instance=ExtResource( 3 )] ] instance=ExtResource( 4 )]
editor/display_folded = true
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -75.0183, 0, -2.86102e-006 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -75.0183, 0, -2.86102e-006 )
key_id = 1 key_id = 1
@ -71,180 +77,181 @@ shape = SubResource( 1 )
[node name="Touchables" type="Spatial" parent="."] [node name="Touchables" type="Spatial" parent="."]
editor/display_folded = true editor/display_folded = true
[node name="Door" parent="Touchables" instance=ExtResource( 4 )] [node name="Door" parent="Touchables" instance=ExtResource( 5 )]
transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, 73.152, 2, -191.228 ) transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, 73.152, 2, -191.228 )
door_lvl = 1 door_lvl = 1
[node name="Lever" parent="Touchables" instance=ExtResource( 5 )] [node name="Lever" parent="Touchables" instance=ExtResource( 6 )]
transform = Transform( 1.19249e-008, 0, -1, 0, 1, 0, 1, 0, 1.19249e-008, 5.94476, 2, 11.731 ) transform = Transform( 1.19249e-008, 0, -1, 0, 1, 0, 1, 0, 1.19249e-008, 5.94476, 2, 11.731 )
[node name="NavigationMeshInstance" type="NavigationMeshInstance" parent="."] [node name="NavigationMeshInstance" type="NavigationMeshInstance" parent="."]
navmesh = SubResource( 2 ) navmesh = SubResource( 2 )
[node name="PlayerHouse" parent="NavigationMeshInstance" instance=ExtResource( 6 )] [node name="PlayerHouse" parent="NavigationMeshInstance" instance=ExtResource( 7 )]
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 13, 0, 14 ) transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 13, 0, 14 )
[node name="BuildingBlocks" type="Spatial" parent="NavigationMeshInstance"] [node name="BuildingBlocks" type="Spatial" parent="NavigationMeshInstance"]
editor/display_folded = true editor/display_folded = true
[node name="BuildingBlock" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -13, 0, -13 ) transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -13, 0, -13 )
[node name="BuildingBlock2" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock2" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 13, 0, -13 ) transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 13, 0, -13 )
[node name="BuildingBlock11" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock11" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 13, 0, 41 ) transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 13, 0, 41 )
[node name="BuildingBlock12" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock12" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -13, 0, 14 ) transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -13, 0, 14 )
[node name="BuildingBlock13" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock13" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -13, 0, 41 ) transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -13, 0, 41 )
[node name="BuildingBlock14" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock14" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 34, 0, 47 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 34, 0, 47 )
[node name="BuildingBlock15" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock15" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, 41, 0, 95 ) transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, 41, 0, 95 )
[node name="BuildingBlock21" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock21" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, 41, 0, 68 ) transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, 41, 0, 68 )
[node name="BuildingBlock16" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock16" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, -13, 0, 68 ) transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, -13, 0, 68 )
[node name="BuildingBlock20" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock20" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, -13, 0, 95 ) transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, -13, 0, 95 )
[node name="BuildingBlock17" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock17" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -1, 0, 8.74228e-008, 0, 1, 0, -8.74228e-008, 0, -1, 8, 0, 116 ) transform = Transform( -1, 0, 8.74228e-008, 0, 1, 0, -8.74228e-008, 0, -1, 8, 0, 116 )
[node name="BuildingBlock18" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock18" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -1, 0, 8.74228e-008, 0, 1, 0, -8.74228e-008, 0, -1, 35, 0, 116 ) transform = Transform( -1, 0, 8.74228e-008, 0, 1, 0, -8.74228e-008, 0, -1, 35, 0, 116 )
[node name="BuildingBlock3" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock3" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 13, 0, -40 ) transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 13, 0, -40 )
[node name="BuildingBlock4" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock4" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -13, 0, -40 ) transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -13, 0, -40 )
[node name="BuildingBlock5" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock5" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -34, 0, -88 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -34, 0, -88 )
[node name="BuildingBlock10" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock10" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -34, 0, -46 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -34, 0, -46 )
[node name="BuildingBlock9" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock9" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -13, 0, -94 ) transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -13, 0, -94 )
[node name="BuildingBlock24" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock24" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -13, 0, -121 ) transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -13, 0, -121 )
[node name="BuildingBlock25" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock25" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, -127 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, -127 )
[node name="BuildingBlock26" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock26" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 35, 0, -127 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 35, 0, -127 )
[node name="BuildingBlock31" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock31" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 35, 0, -169 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 35, 0, -169 )
[node name="BuildingBlock37" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock37" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 100, 0, -169 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 100, 0, -169 )
[node name="BuildingBlock38" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock38" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 127, 0, -169 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 127, 0, -169 )
[node name="BuildingBlock40" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock40" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 127, 0, -211 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 127, 0, -211 )
[node name="BuildingBlock41" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock41" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 100, 0, -211 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 100, 0, -211 )
[node name="BuildingBlock42" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock42" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 73, 0, -211 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 73, 0, -211 )
[node name="BuildingBlock43" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock43" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 46, 0, -211 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 46, 0, -211 )
[node name="BuildingBlock44" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock44" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, -211 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, -211 )
[node name="BuildingBlock45" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock45" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -8, 0, -211 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -8, 0, -211 )
[node name="BuildingBlock46" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock46" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -35, 0, -211 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -35, 0, -211 )
[node name="BuildingBlock47" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock47" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, -56, 0, -217 ) transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, -56, 0, -217 )
[node name="BuildingBlock48" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock48" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, -71, 0, -217 ) transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, -71, 0, -217 )
[node name="BuildingBlock50" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock50" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, -71, 0, -244 ) transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, -71, 0, -244 )
[node name="BuildingBlock51" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock51" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -1, 0, 8.74228e-008, 0, 1, 0, -8.74228e-008, 0, -1, -92, 0, -250 ) transform = Transform( -1, 0, 8.74228e-008, 0, 1, 0, -8.74228e-008, 0, -1, -92, 0, -250 )
[node name="BuildingBlock52" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock52" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( 1.31134e-007, 0, 1, 0, 1, 0, -1, 0, 1.31134e-007, -113, 0, -256 ) transform = Transform( 1.31134e-007, 0, 1, 0, 1, 0, -1, 0, 1.31134e-007, -113, 0, -256 )
[node name="BuildingBlock32" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock32" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, -169 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, -169 )
[node name="BuildingBlock33" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock33" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -19, 0, -169 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -19, 0, -169 )
[node name="BuildingBlock34" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock34" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -46, 0, -169 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -46, 0, -169 )
[node name="BuildingBlock35" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock35" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -67, 0, -163 ) transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, -67, 0, -163 )
[node name="BuildingBlock36" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock36" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -76, 0, -142 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -76, 0, -142 )
[node name="BuildingBlock49" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock49" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -103, 0, -142 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -103, 0, -142 )
[node name="BuildingBlock27" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock27" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 41, 0, -148 ) transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 41, 0, -148 )
[node name="BuildingBlock28" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock28" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 79, 0, -109 ) transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 79, 0, -109 )
[node name="BuildingBlock29" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock29" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 79, 0, -136 ) transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 79, 0, -136 )
[node name="BuildingBlock30" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock30" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 79, 0, -163 ) transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 79, 0, -163 )
[node name="BuildingBlock39" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock39" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 133, 0, -190 ) transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 133, 0, -190 )
[node name="MeldewesenHome" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )] [node name="MeldewesenHome" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 9 )]
[node name="BuildingBlock6" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock6" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 13, 0, -67 ) transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 13, 0, -67 )
[node name="BuildingBlock7" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock7" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, -88 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, -88 )
[node name="BuildingBlock8" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock8" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, -88 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, -88 )
[node name="BuildingBlock22" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock22" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 46, 0, -88 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 46, 0, -88 )
[node name="BuildingBlock23" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 7 )] [node name="BuildingBlock23" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 73, 0, -88 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 73, 0, -88 )
[node name="Factory" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 9 )] [node name="Factory" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 10 )]
[node name="Ground" type="MeshInstance" parent="NavigationMeshInstance"] [node name="Ground" type="MeshInstance" parent="NavigationMeshInstance"]
editor/display_folded = true
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -83.9196, -0.0216179, -105.861 ) transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -83.9196, -0.0216179, -105.861 )
layers = 3 layers = 3
mesh = SubResource( 3 ) mesh = SubResource( 3 )
@ -258,23 +265,24 @@ collision_mask = 7
shape = SubResource( 4 ) shape = SubResource( 4 )
[node name="Environment" type="Spatial" parent="."] [node name="Environment" type="Spatial" parent="."]
editor/display_folded = true
[node name="WorldEnvironment" type="WorldEnvironment" parent="Environment"] [node name="WorldEnvironment" type="WorldEnvironment" parent="Environment"]
environment = SubResource( 6 ) environment = SubResource( 6 )
[node name="DirectionalLight" type="DirectionalLight" parent="Environment"] [node name="DirectionalLight" type="DirectionalLight" parent="Environment"]
transform = Transform( 0.642788, -0.262003, -0.719846, -8.21505e-008, -0.939693, 0.34202, -0.766044, -0.219847, -0.604023, 0, 7, 0 ) transform = Transform( 0.642788, -0.262003, -0.719846, 0, -0.939693, 0.34202, -0.766044, -0.219846, -0.604023, 0, 7, 0 )
layers = 3 layers = 3
shadow_enabled = true shadow_enabled = true
[node name="NodeGroupNotifier" parent="." instance=ExtResource( 10 )] [node name="NodeGroupNotifier" parent="." instance=ExtResource( 11 )]
group_name = "Navigator" group_name = "Navigator"
node_to_send = NodePath("..") node_to_send = NodePath("..")
[node name="PathNavigatorForNPC" parent="." instance=ExtResource( 11 )] [node name="PathNavigatorForNPC" parent="." instance=ExtResource( 12 )]
curve = SubResource( 7 ) curve = SubResource( 7 )
body_nodepath = NodePath("Meldewesen") body_nodepath = NodePath("Meldewesen")
[node name="Meldewesen" parent="PathNavigatorForNPC" instance=ExtResource( 12 )] [node name="Meldewesen" parent="PathNavigatorForNPC" instance=ExtResource( 2 )]
[node name="AmbiencePlayer" parent="." instance=ExtResource( 13 )] [node name="AmbiencePlayer" parent="." instance=ExtResource( 13 )]