parent
8e20b198b4
commit
588167dbae
@ -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
|
||||||
|
assert(null != _visibility)
|
||||||
_visibility.connect("body_entered", self, "_on_body_entered_visibility")
|
_visibility.connect("body_entered", self, "_on_body_entered_visibility")
|
||||||
_visibility.connect("body_exited", self, "_on_body_exited_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"):
|
||||||
|
if player.is_class("KinematicBody"):
|
||||||
_playerRef = player
|
_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_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):
|
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!")
|
||||||
|
_seeingPlayer = false
|
||||||
|
_countCmds = 0
|
||||||
|
if _huntingPlayer == false and _followingPlayer == false:
|
||||||
current_target = null
|
current_target = null
|
||||||
|
@ -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="."]
|
||||||
|
@ -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
|
|
||||||
|
@ -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-009, 0.1, 0, -0.1, -4.37114e-009, 0, 0.7, 0 )
|
transform = Transform( 0.1, 0, 0, 0, -4.37114e-009, 0.1, 0, -0.1, -4.37114e-009, 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"]
|
||||||
|
@ -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
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
156
Level/World.tscn
156
Level/World.tscn
@ -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 )]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user