mergeSurge
This commit is contained in:
commit
0b31bda8c5
@ -1,8 +1,7 @@
|
||||
extends NPC
|
||||
|
||||
|
||||
#export(NodePath) var _visibility_path: NodePath
|
||||
export(int) var _player_follow_pill_level = 3
|
||||
export(int) var _player_follow_pill_level = Pills.LEVELS.MEDIUM
|
||||
|
||||
onready var visibility_cone_mesh = get_node("Visibility/VisibilityCone")
|
||||
|
||||
@ -33,12 +32,19 @@ var _interactArea: Area
|
||||
var _audioPlayer: AudioStreamPlayer3D
|
||||
var _playerRef
|
||||
|
||||
onready var _start_pos = transform.origin
|
||||
onready var _start_rot: Vector3 = rotation_degrees
|
||||
|
||||
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
|
||||
|
||||
|
||||
# test only
|
||||
var _prev_target = null
|
||||
|
||||
func _ready():
|
||||
#Logger.set_logger_level(Logger.LOG_LEVEL_FINE)
|
||||
|
||||
@ -68,18 +74,27 @@ func _ready():
|
||||
func _process(_delta):
|
||||
# movement
|
||||
if current_target:
|
||||
if _prev_target != current_target:
|
||||
#Logger.info("current target: " + String(current_target))
|
||||
_prev_target = current_target
|
||||
|
||||
# continue following player after illegal action or low pill level
|
||||
if _huntingPlayer or (_followingPlayer and Pills.get_round_level() <= _player_follow_pill_level):
|
||||
current_target = _playerRef.transform.origin
|
||||
# stop following player if pill level is high enough and player is not in an illegal area
|
||||
else:
|
||||
if _followingPlayer:
|
||||
Logger.info("player pill level ok and no illegal actions detected!")
|
||||
_followingPlayer = false
|
||||
current_target = _start_pos
|
||||
elif current_target == _start_pos and transform.origin.distance_to(current_target) < 0.1:
|
||||
Logger.info("the watch begins")
|
||||
current_target = null
|
||||
current_look_target = null
|
||||
rotation_degrees = _start_rot
|
||||
|
||||
if _seeingPlayer:
|
||||
# logic
|
||||
_set_behavior()
|
||||
_set_behavior() # logic
|
||||
|
||||
# audio
|
||||
if _audioPlayer.stream != null:
|
||||
@ -97,6 +112,7 @@ func _on_area_entered (area: Area):
|
||||
|
||||
|
||||
func change_visibility_cone_color(new_color: Color):
|
||||
if visibility_cone_mesh.get_surface_material(0).albedo_color != new_color:
|
||||
visibility_cone_mesh.get_surface_material(0).albedo_color = new_color
|
||||
visibility_cone_mesh.get_surface_material(0).albedo_color.a = VISIBILITY_CONE_ALPHA
|
||||
|
||||
@ -189,8 +205,7 @@ func _on_body_entered_visibility (body: PhysicsBody):
|
||||
if body.is_in_group("Player"):
|
||||
Logger.info("Seeing player!")
|
||||
_seeingPlayer = true
|
||||
|
||||
_set_behavior()
|
||||
#_set_behavior()
|
||||
|
||||
|
||||
func _on_body_exited_visibility(body: PhysicsBody):
|
||||
@ -199,4 +214,6 @@ func _on_body_exited_visibility(body: PhysicsBody):
|
||||
_seeingPlayer = false
|
||||
_countCmds = 0
|
||||
if _huntingPlayer == false and _followingPlayer == false:
|
||||
# dirty quickfix: TODO: refactor
|
||||
if current_target != _start_pos:
|
||||
current_target = null
|
||||
|
File diff suppressed because one or more lines are too long
24
Characters/Meldewesen/Visibility.gd
Normal file
24
Characters/Meldewesen/Visibility.gd
Normal file
@ -0,0 +1,24 @@
|
||||
extends Area
|
||||
|
||||
|
||||
onready var rays = get_node("InteractCheckRays")
|
||||
|
||||
var max_distance = 20
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
var new_scale = 1.0
|
||||
|
||||
for ray in rays.get_children():
|
||||
var collision_point = ray.get_collision_point()
|
||||
|
||||
if collision_point:
|
||||
var distance = collision_point.distance_to(global_transform.origin)
|
||||
|
||||
if distance < max_distance:
|
||||
var potential_new_scale = distance / max_distance
|
||||
|
||||
if potential_new_scale < new_scale:
|
||||
new_scale = potential_new_scale
|
||||
|
||||
scale = Vector3(new_scale, 1.0, new_scale)
|
@ -1,6 +1,7 @@
|
||||
[gd_resource type="SpatialMaterial" format=2]
|
||||
|
||||
[resource]
|
||||
resource_local_to_scene = true
|
||||
flags_transparent = true
|
||||
params_cull_mode = 2
|
||||
albedo_color = Color( 1, 0, 0, 0.329412 )
|
||||
|
@ -10,6 +10,13 @@ func _ready():
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
# The factor is 0 when the level is between 0% and 25%; 1 when the level is between 75% and 100%; lerp inbetween
|
||||
var factor = clamp((Pills.get_level() / Pills.get_max() * 1.5 - 0.25), 0.0, 1.0)
|
||||
# The factor is 0 when the pill level is zero.
|
||||
# Between pill level 0 and 0.5, the factor scales between 0 and 1.
|
||||
var factor
|
||||
|
||||
if Pills.get_normalized_level() < 0.5:
|
||||
factor = Pills.get_normalized_level() * 2.0
|
||||
else:
|
||||
factor = 1.0
|
||||
|
||||
screen_texture.material.set_shader_param("mask_factor", factor)
|
@ -6,6 +6,7 @@ export(NodePath) var lookingAt_nodepath
|
||||
export(NodePath) var animationWalk_nodepath
|
||||
export(NodePath) var animationFadeOut_nodepath
|
||||
export(NodePath) var ui_interact_nodepath
|
||||
export(NodePath) var ui_message_nodepath
|
||||
export(NodePath) var camera_nodepath
|
||||
export(int) var keycard_lvl
|
||||
export(Array) var key_chain
|
||||
@ -27,6 +28,7 @@ var _lookCast: RayCast
|
||||
var _animationWalk: AnimationPlayer
|
||||
var _animationFadeOut: AnimationPlayer
|
||||
var _labelInteract: Label
|
||||
var _labelMessage: Label
|
||||
var _dir = Vector3()
|
||||
var _vel = Vector3()
|
||||
var _is_sprinting : bool
|
||||
@ -72,6 +74,9 @@ func _ready():
|
||||
_labelInteract = get_node(ui_interact_nodepath) as Label
|
||||
assert(null != _labelInteract)
|
||||
|
||||
_labelMessage = get_node(ui_message_nodepath) as Label
|
||||
assert(null != _labelMessage)
|
||||
|
||||
# Setup mouse look
|
||||
Input.set_mouse_mode(Input.MOUSE_MODE_CAPTURED)
|
||||
_lookCast = get_node(lookingAt_nodepath) as RayCast
|
||||
@ -85,6 +90,9 @@ func _ready():
|
||||
Daytime.increase_per_second = 100
|
||||
Pills._decrease_per_second = 0.8
|
||||
|
||||
if IsInFactory:
|
||||
Daytime.increase_per_second = 0
|
||||
|
||||
# setup collisions with Meldewesen
|
||||
var area = get_node("InteractArea") as Area
|
||||
assert(null != area)
|
||||
@ -98,6 +106,16 @@ func _ready():
|
||||
player.stream = load("res://Resources/Audio/cock.wav")
|
||||
player.play()
|
||||
|
||||
func showMessage (text, duration):
|
||||
_labelMessage.text = text
|
||||
# animation
|
||||
var timer = _inventory.get_node("Timer") as Timer
|
||||
timer.wait_time = duration
|
||||
timer.start()
|
||||
_labelMessage.show()
|
||||
yield(timer, "timeout")
|
||||
_labelMessage.hide()
|
||||
|
||||
|
||||
func _physics_process(delta):
|
||||
process_input()
|
||||
@ -180,7 +198,8 @@ func check_interact():
|
||||
if Input.is_action_just_pressed("interact"):
|
||||
collider.do_interact(self)
|
||||
if collider.is_in_group("Collectibles"):
|
||||
_inventory.add_item(collider.name)
|
||||
_inventory.add_item(collider)
|
||||
Inventory.add_item(collider.duplicate())
|
||||
_prev_look = null # remove after taken
|
||||
_labelInteract.hide()
|
||||
else:
|
||||
@ -220,15 +239,26 @@ func _on_area_entered (area: Area):
|
||||
Logger.info("entering factory")
|
||||
IsInFactory = true
|
||||
IsOutside = false
|
||||
# TODO: move not change_scene!
|
||||
get_tree().change_scene("res://Level/InFactory.tscn")
|
||||
elif area.is_in_group("TunnelEntry"):
|
||||
Logger.info("entering factory")
|
||||
IsInFactory = false
|
||||
IsOutside = false
|
||||
# TODO: move not change_scene!
|
||||
get_tree().change_scene("res://Level/Tunnel.tscn")
|
||||
# TODO: other entries
|
||||
elif area.is_in_group("OutsideEntry"):
|
||||
Logger.info("leaving factory")
|
||||
IsInFactory = false
|
||||
IsOutside = true
|
||||
# TODO: move not change_scene!
|
||||
get_tree().change_scene("res://Level/World.tscn")
|
||||
get_tree().change_scene("res://Level/OutsideWorld.tscn")
|
||||
elif area.is_in_group("LabyrinthEntry"):
|
||||
Logger.info("entering labyrinth")
|
||||
IsInFactory = false
|
||||
IsInLabyrinth = true
|
||||
# TODO: move not change_scene!
|
||||
get_tree().change_scene("res://Level/Labyrinth.tscn")
|
||||
|
||||
|
||||
func _on_area_exited (area: Area):
|
||||
@ -244,7 +274,7 @@ func _on_area_exited (area: Area):
|
||||
|
||||
|
||||
func _on_respawn ():
|
||||
Logger.info("respawning")
|
||||
#Logger.info("respawning")
|
||||
# fade to black and restart scene
|
||||
_inventory.hide() # disable hud for the time of respawn animation
|
||||
|
||||
@ -257,9 +287,12 @@ func _on_respawn ():
|
||||
|
||||
#Logger.info("save areas: " + String(_save_areas))
|
||||
if _save_areas < 1 and not IsInLabyrinth:
|
||||
Logger.info("reload scene")
|
||||
Logger.info("move back to home")
|
||||
|
||||
Pills._set_level(Pills.get_max())
|
||||
get_tree().reload_current_scene()
|
||||
IsInFactory = false
|
||||
IsOutside = true
|
||||
# TODO: move not change_scene!
|
||||
get_tree().change_scene("res://Level/OutsideWorld.tscn")
|
||||
|
||||
_inventory.show() # enable hud again
|
||||
|
@ -158,6 +158,7 @@ random_pitch = 1.3
|
||||
[node name="Player" type="KinematicBody" groups=[
|
||||
"Player",
|
||||
]]
|
||||
editor/display_folded = true
|
||||
collision_layer = 5
|
||||
collision_mask = 5
|
||||
script = ExtResource( 1 )
|
||||
@ -166,6 +167,7 @@ lookingAt_nodepath = NodePath("Body/PillCameras/LookingAt")
|
||||
animationWalk_nodepath = NodePath("WalkAnimationPlayer")
|
||||
animationFadeOut_nodepath = NodePath("FadeOutAnimationPlayer")
|
||||
ui_interact_nodepath = NodePath("HUD/PressInteract")
|
||||
ui_message_nodepath = NodePath("HUD/Info")
|
||||
camera_nodepath = NodePath("Body/PillCameras")
|
||||
|
||||
[node name="Body" type="Spatial" parent="."]
|
||||
@ -175,7 +177,7 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0461721, 1.84617, 0 )
|
||||
script = ExtResource( 2 )
|
||||
|
||||
[node name="LookingAt" type="RayCast" parent="Body/PillCameras"]
|
||||
transform = Transform( -1, 0, -8.74228e-008, 0, 1, 0, 8.74228e-008, 0, -1, 0, 0, 0 )
|
||||
transform = Transform( -1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 0, 0, 0 )
|
||||
enabled = true
|
||||
cast_to = Vector3( 0, 0, 2 )
|
||||
collision_mask = 3
|
||||
@ -193,6 +195,7 @@ script = ExtResource( 3 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0461721, 1.84617, 0 )
|
||||
cull_mask = 2
|
||||
current = true
|
||||
far = 1000.0
|
||||
|
||||
[node name="MaskedView" type="Viewport" parent="Body/PillCameras"]
|
||||
render_target_update_mode = 3
|
||||
@ -204,6 +207,7 @@ script = ExtResource( 3 )
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0461721, 1.84617, 0 )
|
||||
cull_mask = 1
|
||||
current = true
|
||||
far = 1000.0
|
||||
|
||||
[node name="ScreenTextureView" type="ColorRect" parent="Body/PillCameras"]
|
||||
material = SubResource( 3 )
|
||||
@ -274,7 +278,7 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0 )
|
||||
script = ExtResource( 11 )
|
||||
|
||||
[node name="Pills" parent="PillTaker" instance=ExtResource( 12 )]
|
||||
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-09, 0.1, 0, -0.1, -4.37114e-09, 0, 0.7, 0 )
|
||||
visible = false
|
||||
|
||||
[editable path="HUD"]
|
||||
|
@ -7,8 +7,14 @@ var _labelDayTime: Label
|
||||
var _dayTime: ProgressBar
|
||||
var _dayTimeVisual: TextureRect
|
||||
|
||||
onready var _keyTexture = load("res://Resources/Models/key/key.png")
|
||||
onready var _cardTexture = load("res://Resources/Models/keycard/keycard.png")
|
||||
onready var _keyTexture = preload("res://Resources/Models/key/key.png")
|
||||
var _cardTexture = {
|
||||
1: preload("res://Resources/Models/keycard/lvl1_keycard.png"),
|
||||
2: preload("res://Resources/Models/keycard/lvl2_keycard.png")
|
||||
}
|
||||
|
||||
onready var _pillFill = preload("res://Resources/Textures/pillLevel_fill.png")
|
||||
onready var _pillDanger = preload("res://Resources/Textures/pillLevel_danger.png")
|
||||
|
||||
# Called when the node enters the scene tree for the first time.
|
||||
func _ready():
|
||||
@ -23,27 +29,45 @@ func _ready():
|
||||
_pillLevel.max_value = Pills.get_max()
|
||||
_dayTime.max_value = Daytime.get_max()
|
||||
|
||||
for object in Inventory.get_items():
|
||||
add_item(object)
|
||||
|
||||
func add_item (name):
|
||||
Logger.info("Adding item \"" + name + "\" to inventory")
|
||||
var text
|
||||
if name == "Key":
|
||||
text = _keyTexture
|
||||
elif name == "Keycard":
|
||||
text = _cardTexture
|
||||
|
||||
func add_item (object):
|
||||
Logger.info("Adding item \"" + object.name + "\" with class \"" + String(object.get_class()) + "\" to inventory")
|
||||
var texture
|
||||
if object is Key:
|
||||
Logger.info("key")
|
||||
texture = _keyTexture
|
||||
elif object is Keycard:
|
||||
Logger.info("keycard")
|
||||
var lvl = (object as Keycard).card_lvl
|
||||
if _cardTexture.has(lvl) == false:
|
||||
Logger.info("no keycard model for lvl: " + String(lvl))
|
||||
return
|
||||
|
||||
texture = _cardTexture[lvl]
|
||||
else:
|
||||
Logger.info("no texture found for: " + object.name)
|
||||
return
|
||||
|
||||
var rect = TextureRect.new()
|
||||
rect.texture = text
|
||||
rect.texture = texture
|
||||
_container.add_child(rect)
|
||||
|
||||
func _process(_delta):
|
||||
_labelPillLevel.text = "curLevel: " + String(Pills.get_level())
|
||||
_pillLevel.value = Pills.get_level()
|
||||
var val = int(Daytime.get_time())
|
||||
# pill level
|
||||
var val = Pills.get_level()
|
||||
_labelPillLevel.text = "curLevel: " + String(val)
|
||||
_pillLevel.value = val
|
||||
if val < Pills.LEVELS.MEDIUM:
|
||||
_pillLevel.set_progress_texture(_pillDanger)
|
||||
elif _pillLevel.get_progress_texture() != _pillFill:
|
||||
_pillLevel.set_progress_texture(_pillFill)
|
||||
|
||||
# day time
|
||||
val = int(Daytime.get_time())
|
||||
#_labelDayTime.text = "dayTime: " + String(val) + " - %02d:%02d" % [val/60%24, val%60]
|
||||
_dayTime.value = val
|
||||
|
||||
_dayTimeVisual.rect_rotation = ((val/_dayTime.max_value) * 180) - 90
|
||||
|
@ -13,6 +13,9 @@ margin_left = 10.2837
|
||||
margin_right = 10.2837
|
||||
script = ExtResource( 1 )
|
||||
|
||||
[node name="Timer" type="Timer" parent="."]
|
||||
one_shot = true
|
||||
|
||||
[node name="PressInteract" type="Label" parent="."]
|
||||
visible = false
|
||||
modulate = Color( 0, 0, 0, 1 )
|
||||
@ -28,27 +31,49 @@ margin_bottom = -34.8594
|
||||
custom_fonts/font = ExtResource( 2 )
|
||||
text = "Press 'E' to interact"
|
||||
|
||||
[node name="Info" type="Label" parent="."]
|
||||
visible = false
|
||||
modulate = Color( 0, 0, 0, 1 )
|
||||
self_modulate = Color( 0, 0, 0, 1 )
|
||||
anchor_left = 0.5
|
||||
anchor_top = 1.0
|
||||
anchor_right = 0.5
|
||||
anchor_bottom = 1.0
|
||||
margin_left = -153.0
|
||||
margin_top = -106.0
|
||||
margin_right = 153.0
|
||||
margin_bottom = -82.0
|
||||
custom_fonts/font = ExtResource( 2 )
|
||||
text = "you don't havve the right key"
|
||||
align = 1
|
||||
|
||||
[node name="InventoryContainer" type="GridContainer" parent="."]
|
||||
margin_left = 868.0
|
||||
margin_top = 48.0
|
||||
margin_right = 1007.0
|
||||
margin_bottom = 565.0
|
||||
anchor_left = 1.0
|
||||
anchor_top = 0.5
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 0.5
|
||||
margin_left = -146.0
|
||||
margin_top = -258.5
|
||||
margin_right = -7.0
|
||||
margin_bottom = 258.5
|
||||
|
||||
[node name="PillLevel" type="Label" parent="."]
|
||||
visible = false
|
||||
margin_right = 40.0
|
||||
margin_bottom = 14.0
|
||||
|
||||
[node name="PillProgress" type="TextureProgress" parent="."]
|
||||
margin_left = -0.571533
|
||||
margin_top = 24.7845
|
||||
margin_top = 9.7845
|
||||
margin_right = 247.428
|
||||
margin_bottom = 64.7845
|
||||
margin_bottom = 49.7845
|
||||
max_value = 7.0
|
||||
step = 0.1
|
||||
value = 6.0
|
||||
texture_progress = ExtResource( 3 )
|
||||
|
||||
[node name="DayTime" type="Label" parent="."]
|
||||
visible = false
|
||||
anchor_left = 1.0
|
||||
anchor_right = 1.0
|
||||
margin_left = -170.14
|
||||
@ -57,6 +82,7 @@ margin_right = -130.14
|
||||
margin_bottom = 21.3664
|
||||
|
||||
[node name="DayTimeProgress" type="ProgressBar" parent="."]
|
||||
visible = false
|
||||
margin_left = 850.901
|
||||
margin_top = 30.7722
|
||||
margin_right = 988.901
|
||||
@ -64,11 +90,11 @@ margin_bottom = 44.7722
|
||||
rect_pivot_offset = Vector2( 67.8153, 7.2278 )
|
||||
|
||||
[node name="DayTimeVisual" type="TextureRect" parent="."]
|
||||
anchor_left = 0.5
|
||||
anchor_right = 0.5
|
||||
margin_left = -90.0
|
||||
anchor_left = 1.0
|
||||
anchor_right = 1.0
|
||||
margin_left = -245.0
|
||||
margin_top = -90.0
|
||||
margin_right = 90.0
|
||||
margin_right = -65.0
|
||||
margin_bottom = 90.0
|
||||
rect_rotation = 180.0
|
||||
rect_pivot_offset = Vector2( 90, 90 )
|
||||
|
@ -12,10 +12,8 @@ func _ready():
|
||||
#Logger.set_logger_level(Logger.LOG_LEVEL_FINE)
|
||||
|
||||
_followPath = get_node("../") as PathFollow
|
||||
assert(null != _followPath)
|
||||
|
||||
_navPath = get_node("../../") as Path
|
||||
assert(null != _navPath)
|
||||
|
||||
var _interactArea = get_node("InteractArea") as Area
|
||||
assert(null != _interactArea)
|
||||
@ -24,6 +22,7 @@ func _ready():
|
||||
func _process(_delta):
|
||||
# TODO: movement
|
||||
#if current_target: # should not be needed -> handled per navigation path
|
||||
if _followPath != null:
|
||||
_followPath.offset += diffPerSecond * _delta
|
||||
|
||||
|
||||
|
21
Global/Inventory.gd
Normal file
21
Global/Inventory.gd
Normal file
@ -0,0 +1,21 @@
|
||||
extends Node
|
||||
|
||||
var items: Array
|
||||
|
||||
func _ready():
|
||||
pass # Replace with function body.
|
||||
|
||||
|
||||
func add_item (item):
|
||||
if items.has(item):
|
||||
return
|
||||
|
||||
items.append(item)
|
||||
|
||||
|
||||
func contains_item (item):
|
||||
return items.has(item)
|
||||
|
||||
|
||||
func get_items ():
|
||||
return items
|
13
Level/Buildings/FakeBuildingBlock.tscn
Normal file
13
Level/Buildings/FakeBuildingBlock.tscn
Normal file
@ -0,0 +1,13 @@
|
||||
[gd_scene load_steps=2 format=2]
|
||||
|
||||
[ext_resource path="res://Level/Buildings/BuildingBlock.tscn" type="PackedScene" id=1]
|
||||
|
||||
[node name="BuildingBlock" instance=ExtResource( 1 )]
|
||||
|
||||
[node name="True" parent="." index="1"]
|
||||
visible = false
|
||||
layers = 0
|
||||
|
||||
[node name="StaticBody" parent="." index="2"]
|
||||
collision_layer = 1
|
||||
collision_mask = 1
|
File diff suppressed because one or more lines are too long
97
Level/Decoration/TreeTentacle.tscn
Normal file
97
Level/Decoration/TreeTentacle.tscn
Normal file
File diff suppressed because one or more lines are too long
1318
Level/InFactory.tscn
1318
Level/InFactory.tscn
File diff suppressed because one or more lines are too long
@ -39,11 +39,13 @@ func do_interact(var player):
|
||||
_isOpening = !_isOpening
|
||||
else:
|
||||
print("keycard level too low")
|
||||
player.showMessage("keycard level too low", 3)
|
||||
elif player.key_chain.has(door_lvl) or door_lvl == 0:
|
||||
_isMoving = true
|
||||
_isOpening = !_isOpening
|
||||
else:
|
||||
print("you don't have the right key")
|
||||
player.showMessage("you don't have the right key", 3)
|
||||
|
||||
|
||||
# opens or closes the door
|
||||
|
@ -1,4 +1,5 @@
|
||||
extends StaticBody
|
||||
class_name Key
|
||||
|
||||
export(int) var key_id
|
||||
|
||||
@ -6,6 +7,11 @@ onready var outline = get_node("KeyMesh/Outline") as MeshInstance
|
||||
|
||||
|
||||
func do_interact(var player):
|
||||
# TODO: move to global inventory
|
||||
player.key_chain.append(key_id)
|
||||
queue_free()
|
||||
|
||||
|
||||
func is_class(type): return type == "Key" or .is_class(type)
|
||||
|
||||
|
||||
func get_class(): return "Key"
|
@ -39,6 +39,7 @@ surfaces/0 = {
|
||||
|
||||
[node name="Key" type="StaticBody" groups=[
|
||||
"Touchables",
|
||||
"Collectibles",
|
||||
]]
|
||||
script = ExtResource( 1 )
|
||||
|
||||
@ -55,7 +56,7 @@ mesh = SubResource( 2 )
|
||||
material/0 = ExtResource( 3 )
|
||||
|
||||
[node name="weirdModel" parent="." instance=ExtResource( 4 )]
|
||||
transform = Transform( 0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0.01, 3.72529e-009 )
|
||||
transform = Transform( 0.1, 0, 0, 0, 0.1, 0, 0, 0, 0.1, 0, 0.01, 3.72529e-09 )
|
||||
visible = false
|
||||
|
||||
[node name="CollisionShape" type="CollisionShape" parent="."]
|
||||
|
@ -1,4 +1,5 @@
|
||||
extends StaticBody
|
||||
class_name Keycard
|
||||
|
||||
export(int) var card_lvl
|
||||
|
||||
@ -6,7 +7,12 @@ onready var outline = get_node("KeycardMesh/Outline") as MeshInstance
|
||||
|
||||
|
||||
func do_interact(var player):
|
||||
# TODO: move to global inventory
|
||||
if card_lvl > player.keycard_lvl:
|
||||
player.keycard_lvl = card_lvl
|
||||
queue_free()
|
||||
|
||||
|
||||
func is_class(type): return type == "Keycard" or .is_class(type)
|
||||
|
||||
|
||||
func get_class(): return "Keycard"
|
@ -9,7 +9,7 @@
|
||||
[sub_resource type="ArrayMesh" id=1]
|
||||
resource_name = "Cube"
|
||||
surfaces/0 = {
|
||||
"aabb": AABB( 1, -1, -1, 1.00136e-005, 2, 2.00001 ),
|
||||
"aabb": AABB( 1, -1, -1, 1.00136e-05, 2, 2.00001 ),
|
||||
"array_data": PoolByteArray( 0, 0, 128, 63, 205, 204, 76, 191, 0, 0, 128, 63, 127, 0, 0, 0, 0, 0, 129, 127, 0, 0, 51, 59, 0, 0, 128, 63, 0, 0, 128, 191, 129, 202, 89, 63, 127, 0, 0, 0, 0, 0, 129, 127, 198, 44, 0, 60, 0, 0, 128, 63, 0, 0, 128, 191, 154, 153, 89, 191, 127, 0, 0, 0, 0, 0, 129, 127, 102, 59, 0, 60, 0, 0, 128, 63, 205, 204, 76, 191, 0, 0, 128, 191, 127, 0, 0, 0, 0, 0, 129, 127, 0, 60, 51, 59, 0, 0, 128, 63, 205, 204, 76, 63, 0, 0, 128, 191, 127, 0, 0, 0, 0, 0, 130, 127, 0, 60, 102, 46, 0, 0, 128, 63, 0, 0, 128, 63, 154, 153, 89, 191, 127, 0, 0, 0, 0, 0, 129, 127, 102, 59, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 154, 153, 89, 63, 127, 0, 0, 0, 0, 0, 129, 127, 204, 44, 0, 0, 0, 0, 128, 63, 205, 204, 76, 63, 0, 0, 128, 63, 127, 0, 0, 0, 0, 0, 129, 127, 0, 0, 102, 46 ),
|
||||
"array_index_data": PoolByteArray( 0, 0, 2, 0, 1, 0, 2, 0, 0, 0, 3, 0, 3, 0, 0, 0, 4, 0, 4, 0, 6, 0, 5, 0, 6, 0, 4, 0, 7, 0, 7, 0, 4, 0, 0, 0 ),
|
||||
"blend_shape_data": [ ],
|
||||
@ -51,9 +51,11 @@ surfaces/0 = {
|
||||
[sub_resource type="BoxShape" id=3]
|
||||
|
||||
[node name="Keycard" type="StaticBody" groups=[
|
||||
"Collectibles",
|
||||
"Touchables",
|
||||
]]
|
||||
script = ExtResource( 1 )
|
||||
card_lvl = 1
|
||||
|
||||
[node name="KeycardMesh" type="MeshInstance" parent="."]
|
||||
transform = Transform( 0.003, 0, 0, 0, 0.06, 0, 0, 0, 0.1, 0, 0, 0 )
|
||||
|
@ -35,14 +35,14 @@ surfaces/0 = {
|
||||
|
||||
[sub_resource type="BoxShape" id=3]
|
||||
|
||||
[node name="Spatial" type="StaticBody" groups=[
|
||||
[node name="StraightPipe" type="StaticBody" groups=[
|
||||
"Pipes",
|
||||
]]
|
||||
collision_layer = 7
|
||||
collision_mask = 7
|
||||
script = ExtResource( 1 )
|
||||
mesh_path = NodePath("Mesh")
|
||||
color_cast_left = NodePath("ColorCast")
|
||||
mesh_path = NodePath("../StraightPipe/Mesh")
|
||||
color_cast_left = NodePath("../StraightPipe/ColorCast")
|
||||
|
||||
[node name="Mesh" type="MeshInstance" parent="."]
|
||||
transform = Transform( 0.2, 0, 0, 0, 0.2, 0, 0, 0, 0.2, 0, 0, 0 )
|
||||
|
File diff suppressed because one or more lines are too long
7
Level/Labyrinth/WinButton.gd
Normal file
7
Level/Labyrinth/WinButton.gd
Normal file
@ -0,0 +1,7 @@
|
||||
extends StaticBody
|
||||
|
||||
onready var outline = get_node("Outline") as MeshInstance
|
||||
|
||||
|
||||
func do_interact(var player):
|
||||
get_tree().quit()
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
77
Level/Tunnel.tscn
Normal file
77
Level/Tunnel.tscn
Normal file
@ -0,0 +1,77 @@
|
||||
[gd_scene load_steps=6 format=2]
|
||||
|
||||
[ext_resource path="res://Characters/Player/Player.tscn" type="PackedScene" id=1]
|
||||
|
||||
[sub_resource type="SpatialMaterial" id=2]
|
||||
params_cull_mode = 1
|
||||
albedo_color = Color( 0, 0, 0, 1 )
|
||||
metallic = 0.68
|
||||
roughness = 0.42
|
||||
|
||||
[sub_resource type="ArrayMesh" id=1]
|
||||
resource_name = "Cylinder"
|
||||
surfaces/0 = {
|
||||
"aabb": AABB( -0.866026, -1, -1, 1.73205, 2.00001, 2 ),
|
||||
"array_data": PoolByteArray( 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 191, 63, 0, 147, 0, 147, 0, 193, 127, 0, 60, 0, 0, 217, 179, 93, 63, 0, 0, 128, 191, 0, 0, 0, 191, 63, 0, 147, 0, 147, 0, 193, 127, 170, 58, 0, 56, 0, 0, 0, 0, 0, 0, 128, 191, 0, 0, 128, 191, 63, 0, 147, 0, 147, 0, 193, 127, 0, 60, 0, 56, 217, 179, 93, 63, 0, 0, 128, 63, 0, 0, 0, 191, 127, 0, 0, 0, 0, 0, 129, 127, 170, 58, 0, 0, 215, 179, 93, 63, 0, 0, 128, 191, 2, 0, 0, 63, 127, 0, 0, 0, 0, 0, 129, 127, 85, 57, 0, 56, 217, 179, 93, 63, 0, 0, 128, 191, 0, 0, 0, 191, 127, 0, 0, 0, 0, 0, 129, 127, 170, 58, 0, 56, 215, 179, 93, 63, 0, 0, 128, 63, 2, 0, 0, 63, 63, 0, 109, 0, 109, 0, 193, 127, 85, 57, 0, 0, 0, 0, 0, 0, 0, 0, 128, 191, 0, 0, 128, 63, 63, 0, 109, 0, 109, 0, 193, 127, 0, 56, 0, 56, 215, 179, 93, 63, 0, 0, 128, 191, 2, 0, 0, 63, 63, 0, 109, 0, 109, 0, 193, 127, 85, 57, 0, 56, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 193, 0, 109, 0, 109, 0, 63, 127, 0, 56, 0, 0, 217, 179, 93, 191, 0, 0, 128, 191, 253, 255, 255, 62, 193, 0, 109, 0, 109, 0, 63, 127, 85, 53, 0, 56, 0, 0, 0, 0, 0, 0, 128, 191, 0, 0, 128, 63, 193, 0, 109, 0, 109, 0, 63, 127, 0, 56, 0, 56, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 0, 0, 126, 0, 0, 127, 0, 52, 20, 56, 217, 179, 93, 191, 0, 0, 128, 63, 253, 255, 255, 62, 0, 127, 0, 0, 127, 0, 0, 127, 101, 41, 245, 58, 215, 179, 93, 63, 0, 0, 128, 63, 2, 0, 0, 63, 0, 127, 0, 0, 127, 0, 0, 127, 83, 55, 245, 58, 217, 179, 93, 191, 0, 0, 128, 63, 253, 255, 255, 62, 129, 0, 0, 0, 0, 0, 127, 127, 85, 53, 0, 0, 217, 179, 93, 191, 0, 0, 128, 191, 253, 255, 255, 190, 129, 0, 0, 0, 0, 0, 127, 127, 85, 49, 0, 56, 217, 179, 93, 191, 0, 0, 128, 191, 253, 255, 255, 62, 129, 0, 0, 0, 0, 0, 127, 127, 85, 53, 0, 56, 217, 179, 93, 191, 0, 0, 128, 63, 253, 255, 255, 190, 193, 0, 147, 0, 147, 0, 63, 127, 85, 49, 0, 0, 0, 0, 0, 0, 0, 0, 128, 191, 0, 0, 128, 191, 193, 0, 147, 0, 147, 0, 63, 127, 0, 0, 0, 56, 217, 179, 93, 191, 0, 0, 128, 191, 253, 255, 255, 190, 193, 0, 147, 0, 147, 0, 63, 127, 85, 49, 0, 56, 217, 179, 93, 191, 0, 0, 128, 191, 253, 255, 255, 62, 0, 129, 0, 0, 127, 0, 0, 129, 86, 56, 245, 58, 217, 179, 93, 191, 0, 0, 128, 191, 253, 255, 255, 190, 0, 129, 0, 0, 127, 0, 0, 129, 86, 56, 10, 57, 217, 179, 93, 63, 0, 0, 128, 191, 0, 0, 0, 191, 0, 129, 0, 0, 127, 0, 0, 129, 169, 59, 10, 57, 217, 179, 93, 63, 0, 0, 128, 63, 0, 0, 0, 191, 63, 0, 147, 0, 147, 0, 193, 127, 170, 58, 0, 0, 217, 179, 93, 63, 0, 0, 128, 63, 0, 0, 0, 191, 127, 0, 0, 0, 0, 0, 129, 127, 170, 58, 0, 0, 215, 179, 93, 63, 0, 0, 128, 63, 2, 0, 0, 63, 127, 0, 0, 0, 0, 0, 129, 127, 85, 57, 0, 0, 215, 179, 93, 63, 0, 0, 128, 191, 2, 0, 0, 63, 127, 0, 0, 0, 0, 0, 129, 127, 85, 57, 0, 56, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 63, 0, 109, 0, 109, 0, 193, 127, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 193, 0, 109, 0, 109, 0, 63, 127, 0, 56, 0, 0, 217, 179, 93, 191, 0, 0, 128, 63, 253, 255, 255, 62, 193, 0, 109, 0, 109, 0, 63, 127, 85, 53, 0, 0, 217, 179, 93, 191, 0, 0, 128, 191, 253, 255, 255, 62, 193, 0, 109, 0, 109, 0, 63, 127, 85, 53, 0, 56, 217, 179, 93, 63, 0, 0, 128, 63, 0, 0, 0, 191, 0, 127, 0, 0, 127, 0, 0, 127, 83, 55, 10, 57, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 191, 0, 127, 0, 0, 127, 0, 0, 127, 0, 52, 20, 56, 217, 179, 93, 191, 0, 0, 128, 63, 253, 255, 255, 190, 0, 127, 0, 0, 127, 0, 0, 127, 101, 41, 10, 57, 217, 179, 93, 191, 0, 0, 128, 63, 253, 255, 255, 62, 0, 127, 0, 0, 127, 0, 0, 127, 101, 41, 245, 58, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 63, 0, 127, 0, 0, 127, 0, 0, 127, 0, 52, 235, 59, 217, 179, 93, 191, 0, 0, 128, 63, 253, 255, 255, 190, 129, 0, 0, 0, 0, 0, 127, 127, 85, 49, 0, 0, 0, 0, 0, 0, 0, 0, 128, 63, 0, 0, 128, 191, 193, 0, 147, 0, 147, 0, 63, 127, 0, 0, 0, 0, 217, 179, 93, 191, 0, 0, 128, 191, 253, 255, 255, 190, 0, 129, 0, 0, 127, 0, 0, 129, 86, 56, 10, 57, 0, 0, 0, 0, 0, 0, 128, 191, 0, 0, 128, 191, 0, 129, 0, 0, 127, 0, 0, 129, 0, 58, 20, 56, 217, 179, 93, 63, 0, 0, 128, 191, 0, 0, 0, 191, 0, 129, 0, 0, 127, 0, 0, 129, 169, 59, 10, 57, 215, 179, 93, 63, 0, 0, 128, 191, 2, 0, 0, 63, 0, 129, 0, 0, 127, 0, 0, 129, 169, 59, 245, 58, 0, 0, 0, 0, 0, 0, 128, 191, 0, 0, 128, 63, 0, 129, 0, 0, 127, 0, 0, 129, 0, 58, 235, 59, 0, 0, 0, 0, 0, 0, 128, 191, 0, 0, 128, 63, 0, 129, 0, 0, 127, 0, 0, 129, 0, 58, 235, 59 ),
|
||||
"array_index_data": PoolByteArray( 0, 0, 2, 0, 1, 0, 3, 0, 5, 0, 4, 0, 6, 0, 8, 0, 7, 0, 9, 0, 11, 0, 10, 0, 12, 0, 14, 0, 13, 0, 15, 0, 17, 0, 16, 0, 18, 0, 20, 0, 19, 0, 21, 0, 23, 0, 22, 0, 0, 0, 1, 0, 24, 0, 25, 0, 27, 0, 26, 0, 6, 0, 7, 0, 28, 0, 29, 0, 31, 0, 30, 0, 14, 0, 12, 0, 32, 0, 33, 0, 35, 0, 34, 0, 13, 0, 14, 0, 36, 0, 15, 0, 16, 0, 37, 0, 18, 0, 19, 0, 38, 0, 39, 0, 41, 0, 40, 0, 41, 0, 43, 0, 42, 0, 44, 0, 23, 0, 21, 0 ),
|
||||
"blend_shape_data": [ ],
|
||||
"format": 97559,
|
||||
"index_count": 60,
|
||||
"primitive": 4,
|
||||
"skeleton_aabb": [ ],
|
||||
"vertex_count": 45
|
||||
}
|
||||
|
||||
[sub_resource type="ConcavePolygonShape" id=3]
|
||||
data = PoolVector3Array( 0, 1, -1, 0, -1, -1, 0.866, -1, -0.5, 0.866, 1, -0.5, 0.866, -1, -0.5, 0.866, -1, 0.5, 0.866, 1, 0.5, 0.866, -1, 0.5, 0, -1, 1, 0, 1, 1, 0, -1, 1, -0.866, -1, 0.5, 0, 1, -1, 0.866, 1, 0.5, -0.866, 1, 0.5, -0.866, 1, 0.5, -0.866, -1, 0.5, -0.866, -1, -0.5, -0.866, 1, -0.5, -0.866, -1, -0.5, 0, -1, -1, -0.866, -1, 0.5, 0.866, -1, -0.5, -0.866, -1, -0.5, 0, 1, -1, 0.866, -1, -0.5, 0.866, 1, -0.5, 0.866, 1, -0.5, 0.866, -1, 0.5, 0.866, 1, 0.5, 0.866, 1, 0.5, 0, -1, 1, 0, 1, 1, 0, 1, 1, -0.866, -1, 0.5, -0.866, 1, 0.5, 0.866, 1, 0.5, 0, 1, -1, 0.866, 1, -0.5, 0, 1, -1, -0.866, 1, 0.5, -0.866, 1, -0.5, -0.866, 1, 0.5, 0.866, 1, 0.5, 0, 1, 1, -0.866, 1, 0.5, -0.866, -1, -0.5, -0.866, 1, -0.5, -0.866, 1, -0.5, 0, -1, -1, 0, 1, -1, -0.866, -1, -0.5, 0.866, -1, -0.5, 0, -1, -1, 0.866, -1, -0.5, 0, -1, 1, 0.866, -1, 0.5, 0, -1, 1, 0.866, -1, -0.5, -0.866, -1, 0.5 )
|
||||
|
||||
[sub_resource type="SphereShape" id=4]
|
||||
radius = 12.1331
|
||||
|
||||
[node name="Tunnel" type="Spatial"]
|
||||
|
||||
[node name="Cylinder" type="MeshInstance" parent="."]
|
||||
transform = Transform( -0.95051, 99.5472, 0, -9.95472, -9.5051, 0, 0, 0, 10, 0, 9, 0 )
|
||||
layers = 3
|
||||
material_override = SubResource( 2 )
|
||||
mesh = SubResource( 1 )
|
||||
material/0 = null
|
||||
|
||||
[node name="StaticBody" type="StaticBody" parent="Cylinder"]
|
||||
collision_layer = 3
|
||||
collision_mask = 3
|
||||
|
||||
[node name="CollisionShape" type="CollisionShape" parent="Cylinder/StaticBody"]
|
||||
shape = SubResource( 3 )
|
||||
|
||||
[node name="OmniLight" type="OmniLight" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 92, 0, 0 )
|
||||
layers = 2
|
||||
light_color = Color( 1, 0.501961, 0.898039, 1 )
|
||||
omni_range = 343.436
|
||||
|
||||
[node name="OmniLight2" type="OmniLight" parent="."]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -94, 18, 0 )
|
||||
light_color = Color( 0.501961, 0.894118, 1, 1 )
|
||||
omni_range = 343.436
|
||||
|
||||
[node name="Player" parent="." instance=ExtResource( 1 )]
|
||||
transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -81, 17, 0 )
|
||||
IsOutside = false
|
||||
IsInLabyrinth = true
|
||||
|
||||
[node name="LabyrinthPort" type="Area" parent="." groups=[
|
||||
"LabyrinthEntry",
|
||||
]]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 93, 0, 0 )
|
||||
|
||||
[node name="CollisionShape" type="CollisionShape" parent="LabyrinthPort"]
|
||||
shape = SubResource( 4 )
|
||||
|
||||
[node name="HousePort" type="Area" parent="." groups=[
|
||||
"OutsideEntry",
|
||||
]]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -101, 18, 0 )
|
||||
|
||||
[node name="CollisionShape" type="CollisionShape" parent="HousePort"]
|
||||
shape = SubResource( 4 )
|
@ -6,12 +6,11 @@ export(float) var _offset
|
||||
const SPAWN_TIME_MIN = 5000 # min spawntime in ms
|
||||
const SPAWN_TIME_MAX = 8000 # max spawntime in ms
|
||||
|
||||
var _worker
|
||||
var _worker = preload("res://Characters/Worker/Worker.tscn")
|
||||
var _lastSpawn = 0 # timestamp of last spawned worker
|
||||
var _path: Path
|
||||
|
||||
func _ready():
|
||||
_worker = load("res://Characters/Worker/Worker.tscn")
|
||||
assert(null != _worker)
|
||||
|
||||
_path = get_node(_nodepath)
|
||||
|
@ -56,26 +56,26 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 14, 0, 7 )
|
||||
[node name="Enemies" type="Spatial" 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 )
|
||||
transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -3.88156, 0, 14.5424 )
|
||||
|
||||
[node name="Meldewesen3" parent="Enemies" instance=ExtResource( 2 )]
|
||||
transform = Transform( -1, 0, -8.74228e-008, 0, 1, 0, 8.74228e-008, 0, -1, 58.4396, 0, -200.412 )
|
||||
transform = Transform( -1, 0, -8.74228e-08, 0, 1, 0, 8.74228e-08, 0, -1, 58.4396, 0, -200.412 )
|
||||
|
||||
[node name="Meldewesen4" parent="Enemies" instance=ExtResource( 2 )]
|
||||
transform = Transform( -4.37114e-008, 0, -1, 0, 1, 0, 1, 0, -4.37114e-008, -13.0581, 0, -67.0506 )
|
||||
transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -13.0581, 0, -67.0506 )
|
||||
|
||||
[node name="Collectibles" type="Spatial" parent="."]
|
||||
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-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 15.0831, 1.63203, 13.0809 )
|
||||
|
||||
[node name="Keycard" parent="Collectibles" groups=[
|
||||
"Collectibles",
|
||||
] instance=ExtResource( 2 )]
|
||||
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-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 203.861, -0.63203, 110.591 )
|
||||
|
||||
[node name="Key" parent="Collectibles" groups=[
|
||||
"Collectibles",
|
||||
] instance=ExtResource( 3 )]
|
||||
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-06 )
|
||||
|
||||
[node name="Area" type="Area" parent="Collectibles/Key" groups=[
|
||||
"Forbidden",
|
||||
@ -121,7 +121,7 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.127018, 0, 0.00287628 )
|
||||
curve = SubResource( 2 )
|
||||
|
||||
[node name="PathFollow" type="PathFollow" parent="WorkerSpawner/Path"]
|
||||
transform = Transform( 0.996943, 0.00214803, 0.0780964, -0.00218668, 0.999998, 0.000409653, -0.0780961, -0.000579182, 0.996945, -15.7672, 0.284373, -190.888 )
|
||||
transform = Transform( -0.00982942, 0.0019797, 0.999949, 0.00229539, 0.999996, -0.00195724, -0.999949, 0.00227601, -0.00983316, -15.7672, 0.284373, -190.888 )
|
||||
offset = 380.29
|
||||
|
||||
[node name="Worker" parent="WorkerSpawner/Path/PathFollow" instance=ExtResource( 5 )]
|
||||
@ -129,13 +129,13 @@ offset = 380.29
|
||||
[node name="Touchables" type="Spatial" parent="."]
|
||||
|
||||
[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-08, 0, -1, 0, 1, 0, 1, 0, 1.19249e-08, 5.94476, 2, 11.731 )
|
||||
|
||||
[node name="NavigationMeshInstance" type="NavigationMeshInstance" parent="."]
|
||||
navmesh = SubResource( 3 )
|
||||
|
||||
[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-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 13, 0, 14 )
|
||||
|
||||
[node name="MeldewesenHouse" parent="NavigationMeshInstance" instance=ExtResource( 7 )]
|
||||
transform = Transform( 0.8, 0, 0, 0, 1, 0, 0, 0, 1, 14.9197, 0, 89.983 )
|
||||
@ -143,46 +143,46 @@ transform = Transform( 0.8, 0, 0, 0, 1, 0, 0, 0, 1, 14.9197, 0, 89.983 )
|
||||
[node name="BuildingBlocks" type="Spatial" parent="NavigationMeshInstance"]
|
||||
|
||||
[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-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -13, 0, -13 )
|
||||
|
||||
[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-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 13, 0, -13 )
|
||||
|
||||
[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-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 13, 0, 41 )
|
||||
|
||||
[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-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -13, 0, 14 )
|
||||
|
||||
[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-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -13, 0, 41 )
|
||||
|
||||
[node name="BuildingBlock14" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 34, 0, 47 )
|
||||
|
||||
[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-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 41, 0, 95 )
|
||||
|
||||
[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-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 41, 0, 68 )
|
||||
|
||||
[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-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -13, 0, 68 )
|
||||
|
||||
[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-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -13, 0, 95 )
|
||||
|
||||
[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-08, 0, 1, 0, -8.74228e-08, 0, -1, 8, 0, 116 )
|
||||
|
||||
[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-08, 0, 1, 0, -8.74228e-08, 0, -1, 35, 0, 116 )
|
||||
|
||||
[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-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 13, 0, -40 )
|
||||
|
||||
[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-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -13, 0, -40 )
|
||||
|
||||
[node name="BuildingBlock5" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -34, 0, -88 )
|
||||
@ -191,10 +191,10 @@ 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, -46 )
|
||||
|
||||
[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-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -13, 0, -94 )
|
||||
|
||||
[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-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -13, 0, -121 )
|
||||
|
||||
[node name="BuildingBlock25" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, -127 )
|
||||
@ -221,10 +221,10 @@ 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, 73, 0, -211 )
|
||||
|
||||
[node name="BuildingBlock53" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
|
||||
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 79, 0, -201.078 )
|
||||
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 79, 0, -201.078 )
|
||||
|
||||
[node name="BuildingBlock54" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
|
||||
transform = Transform( -4.37114e-008, 0, 1, 0, 0.6, 0, -1, 0, -4.37114e-008, 79, 4.83048, -181.541 )
|
||||
transform = Transform( -4.37114e-08, 0, 1, 0, 0.6, 0, -1, 0, -4.37114e-08, 79, 4.83048, -181.541 )
|
||||
|
||||
[node name="BuildingBlock43" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 46, 0, -211 )
|
||||
@ -239,19 +239,19 @@ 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, -35, 0, -211 )
|
||||
|
||||
[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-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -56, 0, -217 )
|
||||
|
||||
[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-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -71, 0, -217 )
|
||||
|
||||
[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-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -71, 0, -244 )
|
||||
|
||||
[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-08, 0, 1, 0, -8.74228e-08, 0, -1, -92, 0, -250 )
|
||||
|
||||
[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-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -113, 0, -256 )
|
||||
|
||||
[node name="BuildingBlock32" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 8, 0, -169 )
|
||||
@ -263,7 +263,7 @@ 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, -46, 0, -169 )
|
||||
|
||||
[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-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, -67, 0, -163 )
|
||||
|
||||
[node name="BuildingBlock36" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -76, 0, -142 )
|
||||
@ -272,24 +272,24 @@ 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, -103, 0, -142 )
|
||||
|
||||
[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-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 41, 0, -148 )
|
||||
|
||||
[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-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 79, 0, -109 )
|
||||
|
||||
[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-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 79, 0, -136 )
|
||||
|
||||
[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-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 79, 0, -163 )
|
||||
|
||||
[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-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 133, 0, -190 )
|
||||
|
||||
[node name="MeldewesenHome" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 9 )]
|
||||
|
||||
[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-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 13, 0, -67 )
|
||||
|
||||
[node name="BuildingBlock7" parent="NavigationMeshInstance/BuildingBlocks" instance=ExtResource( 8 )]
|
||||
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 19, 0, -88 )
|
||||
@ -320,7 +320,7 @@ collision_mask = 7
|
||||
shape = SubResource( 5 )
|
||||
|
||||
[node name="DoorWall" parent="NavigationMeshInstance/Ground" instance=ExtResource( 11 )]
|
||||
transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 156.062, 0, -76.2607 )
|
||||
transform = Transform( -4.37114e-08, 0, 1, 0, 1, 0, -1, 0, -4.37114e-08, 156.062, 0, -76.2607 )
|
||||
|
||||
[node name="Environment" type="Spatial" parent="."]
|
||||
|
||||
@ -328,7 +328,7 @@ transform = Transform( -4.37114e-008, 0, 1, 0, 1, 0, -1, 0, -4.37114e-008, 156.0
|
||||
environment = SubResource( 7 )
|
||||
|
||||
[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, -8.21505e-08, -0.939693, 0.34202, -0.766044, -0.219847, -0.604023, 0, 7, 0 )
|
||||
layers = 3
|
||||
shadow_enabled = true
|
||||
|
||||
|
Binary file not shown.
BIN
Resources/Models/Material_001.material
Normal file
BIN
Resources/Models/Material_001.material
Normal file
Binary file not shown.
Binary file not shown.
115
Resources/Models/environment.dae
Normal file
115
Resources/Models/environment.dae
Normal file
File diff suppressed because one or more lines are too long
1062
Resources/Models/environment.dae.import
Normal file
1062
Resources/Models/environment.dae.import
Normal file
File diff suppressed because it is too large
Load Diff
137
Resources/Models/finish_game.dae
Normal file
137
Resources/Models/finish_game.dae
Normal file
File diff suppressed because one or more lines are too long
1062
Resources/Models/finish_game.dae.import
Normal file
1062
Resources/Models/finish_game.dae.import
Normal file
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
Binary file not shown.
Before Width: | Height: | Size: 8.9 KiB |
BIN
Resources/Models/leaves.material
Normal file
BIN
Resources/Models/leaves.material
Normal file
Binary file not shown.
BIN
Resources/Models/noppen.material
Normal file
BIN
Resources/Models/noppen.material
Normal file
Binary file not shown.
332
Resources/Models/playerhouse.dae
Normal file
332
Resources/Models/playerhouse.dae
Normal file
File diff suppressed because one or more lines are too long
1062
Resources/Models/playerhouse.dae.import
Normal file
1062
Resources/Models/playerhouse.dae.import
Normal file
File diff suppressed because it is too large
Load Diff
306
Resources/Models/tentacle.dae
Normal file
306
Resources/Models/tentacle.dae
Normal file
File diff suppressed because one or more lines are too long
1062
Resources/Models/tentacle.dae.import
Normal file
1062
Resources/Models/tentacle.dae.import
Normal file
File diff suppressed because it is too large
Load Diff
69
Resources/Models/tunnel.dae
Normal file
69
Resources/Models/tunnel.dae
Normal file
@ -0,0 +1,69 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<asset>
|
||||
<contributor>
|
||||
<author>Blender User</author>
|
||||
<authoring_tool>Blender 2.80.75</authoring_tool>
|
||||
</contributor>
|
||||
<created>2020-01-28T16:49:41</created>
|
||||
<modified>2020-01-28T16:49:41</modified>
|
||||
<unit name="meter" meter="1"/>
|
||||
<up_axis>Z_UP</up_axis>
|
||||
</asset>
|
||||
<library_images/>
|
||||
<library_geometries>
|
||||
<geometry id="Cylinder-mesh" name="Cylinder">
|
||||
<mesh>
|
||||
<source id="Cylinder-mesh-positions">
|
||||
<float_array id="Cylinder-mesh-positions-array" count="36">0 1 -1 0 1 1 0.8660255 0.5 -1 0.8660255 0.5 1 0.8660254 -0.5000001 -1 0.8660254 -0.5000001 1 0 -1 -1 0 -1 1 -0.8660255 -0.4999999 -1 -0.8660255 -0.4999999 1 -0.8660255 0.4999999 -1 -0.8660255 0.4999999 1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Cylinder-mesh-positions-array" count="12" stride="3">
|
||||
<param name="X" type="float"/>
|
||||
<param name="Y" type="float"/>
|
||||
<param name="Z" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Cylinder-mesh-normals">
|
||||
<float_array id="Cylinder-mesh-normals-array" count="48">0.5 0.8660255 0 1 0 0 0.5 -0.8660255 0 -0.5000001 -0.8660253 0 0 0 1 -1 0 0 -0.5000001 0.8660255 0 0 0 -1 1 -1.19209e-7 0 0.5 -0.8660255 0 -0.5000001 -0.8660254 0 0 0 1 1.37651e-7 0 1 0 0 1 1.37651e-7 0 -1 1.37651e-7 0 -1</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Cylinder-mesh-normals-array" count="16" stride="3">
|
||||
<param name="X" type="float"/>
|
||||
<param name="Y" type="float"/>
|
||||
<param name="Z" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Cylinder-mesh-map-0">
|
||||
<float_array id="Cylinder-mesh-map-0-array" count="120">1 1 0.8333333 0.5 1 0.5 0.8333333 1 0.6666666 0.5 0.8333333 0.5 0.6666666 1 0.5 0.5 0.6666666 0.5 0.5 1 0.3333333 0.5 0.5 0.5 0.25 0.49 0.04215389 0.13 0.4578461 0.1299999 0.3333333 1 0.1666666 0.5 0.3333333 0.5 0.1666666 1 0 0.5 0.1666666 0.5 0.5421539 0.13 0.5421539 0.37 0.9578461 0.37 1 1 0.8333333 1 0.8333333 0.5 0.8333333 1 0.6666666 1 0.6666666 0.5 0.6666666 1 0.5 1 0.5 0.5 0.5 1 0.3333333 1 0.3333333 0.5 0.4578461 0.1299999 0.4578461 0.37 0.25 0.49 0.25 0.49 0.04215389 0.37 0.04215389 0.13 0.04215389 0.13 0.25 0.00999999 0.4578461 0.1299999 0.3333333 1 0.1666666 1 0.1666666 0.5 0.1666666 1 0 1 0 0.5 0.5421539 0.37 0.75 0.49 0.9578461 0.37 0.9578461 0.37 0.9578461 0.1299999 0.75 0.00999999 0.75 0.00999999 0.5421539 0.13 0.9578461 0.37</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Cylinder-mesh-map-0-array" count="60" stride="2">
|
||||
<param name="S" type="float"/>
|
||||
<param name="T" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<vertices id="Cylinder-mesh-vertices">
|
||||
<input semantic="POSITION" source="#Cylinder-mesh-positions"/>
|
||||
</vertices>
|
||||
<triangles count="20">
|
||||
<input semantic="VERTEX" source="#Cylinder-mesh-vertices" offset="0"/>
|
||||
<input semantic="NORMAL" source="#Cylinder-mesh-normals" offset="1"/>
|
||||
<input semantic="TEXCOORD" source="#Cylinder-mesh-map-0" offset="2" set="0"/>
|
||||
<p>1 0 0 2 0 1 0 0 2 3 1 3 4 1 4 2 1 5 5 2 6 6 2 7 4 2 8 7 3 9 8 3 10 6 3 11 1 4 12 9 4 13 5 4 14 9 5 15 10 5 16 8 5 17 11 6 18 0 6 19 10 6 20 8 7 21 10 7 22 2 7 23 1 0 24 3 0 25 2 0 26 3 8 27 5 8 28 4 8 29 5 9 30 7 9 31 6 9 32 7 10 33 9 10 34 8 10 35 5 11 36 3 11 37 1 11 38 1 12 39 11 12 40 9 12 41 9 13 42 7 13 43 5 13 44 9 5 45 11 5 46 10 5 47 11 6 48 1 6 49 0 6 50 10 14 51 0 14 52 2 14 53 2 15 54 4 15 55 6 15 56 6 7 57 8 7 58 2 7 59</p>
|
||||
</triangles>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</library_geometries>
|
||||
<library_visual_scenes>
|
||||
<visual_scene id="Scene" name="Scene">
|
||||
<node id="Cylinder" name="Cylinder" type="NODE">
|
||||
<matrix sid="transform">-0.9505103 0 199.0945 0 0 10 0 0 -9.954723 0 -19.01021 9 0 0 0 1</matrix>
|
||||
<instance_geometry url="#Cylinder-mesh" name="Cylinder"/>
|
||||
</node>
|
||||
</visual_scene>
|
||||
</library_visual_scenes>
|
||||
<scene>
|
||||
<instance_visual_scene url="#Scene"/>
|
||||
</scene>
|
||||
</COLLADA>
|
1062
Resources/Models/tunnel.dae.import
Normal file
1062
Resources/Models/tunnel.dae.import
Normal file
File diff suppressed because it is too large
Load Diff
101
Resources/Models/winning.dae
Normal file
101
Resources/Models/winning.dae
Normal file
@ -0,0 +1,101 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<asset>
|
||||
<contributor>
|
||||
<author>Blender User</author>
|
||||
<authoring_tool>Blender 2.80.75</authoring_tool>
|
||||
</contributor>
|
||||
<created>2020-01-28T13:19:33</created>
|
||||
<modified>2020-01-28T13:19:33</modified>
|
||||
<unit name="meter" meter="1"/>
|
||||
<up_axis>Z_UP</up_axis>
|
||||
</asset>
|
||||
<library_effects>
|
||||
<effect id="Material-effect">
|
||||
<profile_COMMON>
|
||||
<technique sid="common">
|
||||
<lambert>
|
||||
<emission>
|
||||
<color sid="emission">0 0 0 1</color>
|
||||
</emission>
|
||||
<diffuse>
|
||||
<color sid="diffuse">0.8 0.8 0.8 1</color>
|
||||
</diffuse>
|
||||
<index_of_refraction>
|
||||
<float sid="ior">1.45</float>
|
||||
</index_of_refraction>
|
||||
</lambert>
|
||||
</technique>
|
||||
</profile_COMMON>
|
||||
</effect>
|
||||
</library_effects>
|
||||
<library_images/>
|
||||
<library_materials>
|
||||
<material id="Material-material" name="Material">
|
||||
<instance_effect url="#Material-effect"/>
|
||||
</material>
|
||||
</library_materials>
|
||||
<library_geometries>
|
||||
<geometry id="Cube-mesh" name="Cube">
|
||||
<mesh>
|
||||
<source id="Cube-mesh-positions">
|
||||
<float_array id="Cube-mesh-positions-array" count="72">0.8 0.8 0.8 0.5842491 0.8 -0.8 0.8 -0.8 0.8 0.5842491 -0.8 -0.8 -0.8 0.8 0.8 -0.8 0.8 -0.8 -0.8 -0.8 0.8 -0.8 -0.8 -0.8 1 1 1 1 1 -1 1 -1 1 1 -1 -1 -1 1 1 -1 1 -1 -1 -1 1 -1 -1 -1 1 -0.01999998 -0.7987807 0.8 -0.3811202 -0.7987807 1 0.01999998 -0.7987807 0.8 0.3811202 -0.7987807 1 -0.01999998 -0.7387807 0.8 -0.3811202 -0.6931005 1 0.01999998 -0.7387807 0.8 0.3811202 -0.6931005</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Cube-mesh-positions-array" count="24" stride="3">
|
||||
<param name="X" type="float"/>
|
||||
<param name="Y" type="float"/>
|
||||
<param name="Z" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Cube-mesh-normals">
|
||||
<float_array id="Cube-mesh-normals-array" count="63">0 0 -1 0 1 0 1 0 0 0 0 1 -0.8890054 0.4578968 0 0 -1 0 -1 0 0 -0.8747969 -0.48449 0 -0.2226615 0 -0.9748958 -1 0 0 -0.8747964 0.4844909 0 -0.005651772 0 0.9999841 -0.005651056 0 0.999984 -0.8747964 -0.4844909 0 -7.45058e-6 0 1 -0.2226673 0 -0.9748945 -0.8890054 -0.4578968 0 -0.8947097 0.4300453 0.1206464 -0.8947097 -0.4300454 0.1206464 -1 0 0 -0.8747969 0.48449 0</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Cube-mesh-normals-array" count="21" stride="3">
|
||||
<param name="X" type="float"/>
|
||||
<param name="Y" type="float"/>
|
||||
<param name="Z" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<source id="Cube-mesh-map-0">
|
||||
<float_array id="Cube-mesh-map-0-array" count="264">0.375 0.25 0.625 0 0.375 0 0.375 0.25 0.625 0.5 0.625 0.25 0.375 0.75 0.625 0.5 0.375 0.5 0.375 1 0.625 0.75 0.375 0.75 0.125 0.75 0.1345655 0.628125 0.1251905 0.628125 0.625 0.75 0.875 0.5 0.625 0.5 0.625 0 0.375 0.25 0.375 0 0.625 0.25 0.375 0.5 0.375 0.25 0.625 0.5 0.375 0.75 0.375 0.5 0.625 0.75 0.375 1 0.375 0.75 0.125 0.5 0.1501524 0.6225 0.125 0.75 0.875 0.5 0.625 0.75 0.625 0.5 0.375 0.3175873 0.6250001 0.3425873 0.625 0.3175873 0.375 0.75 0.1576524 0.6275001 0.1576524 0.6225001 0.2175872 0.75 0.1925873 0.5 0.1925873 0.75 0.8074127 0.75 0.7824127 0.5 0.7824127 0.75 0.1345655 0.621875 0.375 0.75 0.375 0.5 0.375 0.9324126 0.625 0.9074127 0.375 0.9074127 0.375 0.25 0.625 0.25 0.625 0 0.375 0.25 0.375 0.5 0.625 0.5 0.375 0.75 0.625 0.75 0.625 0.5 0.375 1 0.625 1 0.625 0.75 0.1251905 0.6218751 0.125 0.5 0.1251905 0.628125 0.125 0.5 0.125 0.75 0.1251905 0.628125 0.625 0.75 0.875 0.75 0.875 0.5 0.625 0 0.625 0.25 0.375 0.25 0.625 0.25 0.625 0.5 0.375 0.5 0.625 0.5 0.625 0.75 0.375 0.75 0.625 0.75 0.625 1 0.375 1 0.125 0.5 0.1576524 0.6225001 0.1501524 0.6225 0.1501524 0.6225 0.1501524 0.6275001 0.125 0.75 0.875 0.5 0.875 0.75 0.625 0.75 0.375 0.3175873 0.375 0.3425873 0.6250001 0.3425873 0.375 0.75 0.125 0.75 0.1576524 0.6275001 0.125 0.75 0.1501524 0.6275001 0.1576524 0.6275001 0.125 0.5 0.375 0.5 0.1576524 0.6225001 0.375 0.5 0.375 0.75 0.1576524 0.6225001 0.2175872 0.75 0.2175872 0.5 0.1925873 0.5 0.8074127 0.75 0.8074127 0.5 0.7824127 0.5 0.125 0.5 0.1251905 0.6218751 0.1345655 0.621875 0.1345655 0.628125 0.125 0.75 0.375 0.75 0.375 0.5 0.125 0.5 0.1345655 0.621875 0.1345655 0.621875 0.1345655 0.628125 0.375 0.75 0.375 0.9324126 0.625 0.9324128 0.625 0.9074127</float_array>
|
||||
<technique_common>
|
||||
<accessor source="#Cube-mesh-map-0-array" count="132" stride="2">
|
||||
<param name="S" type="float"/>
|
||||
<param name="T" type="float"/>
|
||||
</accessor>
|
||||
</technique_common>
|
||||
</source>
|
||||
<vertices id="Cube-mesh-vertices">
|
||||
<input semantic="POSITION" source="#Cube-mesh-positions"/>
|
||||
</vertices>
|
||||
<triangles material="Material-material" count="44">
|
||||
<input semantic="VERTEX" source="#Cube-mesh-vertices" offset="0"/>
|
||||
<input semantic="NORMAL" source="#Cube-mesh-normals" offset="1"/>
|
||||
<input semantic="TEXCOORD" source="#Cube-mesh-map-0" offset="2" set="0"/>
|
||||
<p>2 0 0 4 0 1 0 0 2 3 1 3 6 1 4 2 1 5 5 2 6 6 2 7 7 2 8 7 3 9 1 3 10 5 3 11 3 4 12 21 4 13 17 4 14 1 5 15 4 5 16 5 5 17 12 3 18 10 3 19 8 3 20 10 5 21 15 5 22 11 5 23 14 6 24 13 6 25 15 6 26 9 0 27 15 0 28 13 0 29 9 2 30 18 2 31 11 2 32 12 1 33 9 1 34 13 1 35 19 7 36 22 7 37 23 7 38 10 2 39 20 2 40 22 2 41 16 3 42 19 3 43 17 3 44 21 8 45 22 8 46 20 8 47 23 9 48 2 9 49 0 9 50 17 10 51 20 10 52 16 10 53 2 0 54 6 0 55 4 0 56 3 1 57 7 1 58 6 1 59 5 2 60 4 2 61 6 2 62 7 3 63 3 3 64 1 3 65 19 11 66 1 11 67 17 11 68 1 12 69 3 12 70 17 12 71 1 5 72 0 5 73 4 5 74 12 3 75 14 3 76 10 3 77 10 5 78 14 5 79 15 5 80 14 6 81 12 6 82 13 6 83 9 0 84 11 0 85 15 0 86 9 2 87 22 2 88 18 2 89 18 2 90 16 2 91 11 2 92 12 1 93 8 1 94 9 1 95 19 13 96 18 13 97 22 13 98 10 2 99 11 2 100 20 2 101 11 2 102 16 2 103 20 2 104 9 2 105 8 2 106 22 2 107 8 2 108 10 2 109 22 2 110 16 14 111 18 14 112 19 14 113 21 15 114 23 15 115 22 15 116 1 16 117 19 16 118 23 16 119 21 17 120 3 17 121 2 17 122 0 18 123 1 18 124 23 18 125 23 19 126 21 19 127 2 19 128 17 20 129 21 20 130 20 20 131</p>
|
||||
</triangles>
|
||||
</mesh>
|
||||
</geometry>
|
||||
</library_geometries>
|
||||
<library_visual_scenes>
|
||||
<visual_scene id="Scene" name="Scene">
|
||||
<node id="Cube" name="Cube" type="NODE">
|
||||
<matrix sid="transform">50 0 0 0 0 50 0 0 0 0 50 50 0 0 0 1</matrix>
|
||||
<instance_geometry url="#Cube-mesh" name="Cube">
|
||||
<bind_material>
|
||||
<technique_common>
|
||||
<instance_material symbol="Material-material" target="#Material-material">
|
||||
<bind_vertex_input semantic="UVMap" input_semantic="TEXCOORD" input_set="0"/>
|
||||
</instance_material>
|
||||
</technique_common>
|
||||
</bind_material>
|
||||
</instance_geometry>
|
||||
</node>
|
||||
</visual_scene>
|
||||
</library_visual_scenes>
|
||||
<scene>
|
||||
<instance_visual_scene url="#Scene"/>
|
||||
</scene>
|
||||
</COLLADA>
|
1062
Resources/Models/winning.dae.import
Normal file
1062
Resources/Models/winning.dae.import
Normal file
File diff suppressed because it is too large
Load Diff
BIN
Resources/Textures/pillLevel_danger.png
Normal file
BIN
Resources/Textures/pillLevel_danger.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 345 B |
@ -2,15 +2,15 @@
|
||||
|
||||
importer="texture"
|
||||
type="StreamTexture"
|
||||
path="res://.import/keycard.png-1b5932f2383ba2cd4c771ca169fe169c.stex"
|
||||
path="res://.import/pillLevel_danger.png-3f16593e6f8ad54ee32d61800bfb0c9f.stex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Resources/Models/keycard/keycard.png"
|
||||
dest_files=[ "res://.import/keycard.png-1b5932f2383ba2cd4c771ca169fe169c.stex" ]
|
||||
source_file="res://Resources/Textures/pillLevel_danger.png"
|
||||
dest_files=[ "res://.import/pillLevel_danger.png-3f16593e6f8ad54ee32d61800bfb0c9f.stex" ]
|
||||
|
||||
[params]
|
||||
|
Binary file not shown.
Before Width: | Height: | Size: 378 B After Width: | Height: | Size: 360 B |
@ -58,16 +58,24 @@ func _light_rotation():
|
||||
|
||||
#set light color depending on daytime
|
||||
func _sky_light():
|
||||
var new_light_energy = 0.0
|
||||
|
||||
if _degree <= SUNRISE_DEGREE:
|
||||
#_worldEnvironment.environment.background_sky.sky_curve = 1
|
||||
_setSkyColor = SUNRISE
|
||||
elif _degree > SUNRISE_DEGREE and _degree < RISE_INTERPOL: #interpolate colors from sunrise sky to daytime sky
|
||||
_setSkyColor = SUNRISE.linear_interpolate(STANDARD_SKY_TOP, ((_degree-SUNRISE_DEGREE)/(RISE_INTERPOL-SUNRISE_DEGREE)))
|
||||
new_light_energy = inverse_lerp(SUNRISE_DEGREE, RISE_INTERPOL, _degree)
|
||||
elif _degree >= RISE_INTERPOL and _degree <= SET_INTERPOL:
|
||||
#_worldEnvironment.environment.background_sky.sky_curve = 0.09
|
||||
_setSkyColor = STANDARD_SKY_TOP
|
||||
new_light_energy = 1.0
|
||||
elif _degree > SET_INTERPOL and _degree < SUNSET_DEGREE: #interpolate colors from daytime sky to sunset sky
|
||||
_setSkyColor = STANDARD_SKY_TOP.linear_interpolate(SUNSET, ((_degree-SET_INTERPOL)/(SUNSET_DEGREE-SET_INTERPOL)))
|
||||
new_light_energy = 1.0 - inverse_lerp(SET_INTERPOL, SUNSET_DEGREE, _degree)
|
||||
elif _degree >= SUNSET_DEGREE:
|
||||
_setSkyColor = SUNSET
|
||||
|
||||
_worldEnvironment.environment.background_sky.sky_horizon_color = _setSkyColor
|
||||
_light.light_energy = new_light_energy
|
||||
_worldEnvironment.environment.ambient_light_energy = 0.2 + 0.3 * new_light_energy
|
@ -29,6 +29,16 @@ _global_script_classes=[ {
|
||||
"language": "GDScript",
|
||||
"path": "res://Util/gs-logger-3.1-R3/gs_logger/layouts/html_layout.gd"
|
||||
}, {
|
||||
"base": "StaticBody",
|
||||
"class": "Key",
|
||||
"language": "GDScript",
|
||||
"path": "res://Level/Interactables/Key/Key.gd"
|
||||
}, {
|
||||
"base": "StaticBody",
|
||||
"class": "Keycard",
|
||||
"language": "GDScript",
|
||||
"path": "res://Level/Interactables/Keycard/Keycard.gd"
|
||||
}, {
|
||||
"base": "Reference",
|
||||
"class": "Layout",
|
||||
"language": "GDScript",
|
||||
@ -54,6 +64,8 @@ _global_script_class_icons={
|
||||
"ConsoleAppender": "",
|
||||
"FileAppender": "",
|
||||
"HtmlLayout": "",
|
||||
"Key": "",
|
||||
"Keycard": "",
|
||||
"Layout": "",
|
||||
"Message": "",
|
||||
"NPC": "",
|
||||
@ -63,7 +75,7 @@ _global_script_class_icons={
|
||||
[application]
|
||||
|
||||
config/name="retrace"
|
||||
run/main_scene="res://Level/World.tscn"
|
||||
run/main_scene="res://Level/OutsideWorld.tscn"
|
||||
config/icon="res://icon.png"
|
||||
|
||||
[autoload]
|
||||
@ -72,6 +84,7 @@ Logger="*res://Util/gs-logger-3.1-R3/gs_logger/logger.gd"
|
||||
Pills="*res://Global/Pills.gd"
|
||||
Daytime="*res://Global/Daytime.gd"
|
||||
PillAudioHandler="*res://Global/PillAudioHandler.tscn"
|
||||
Inventory="*res://Global/Inventory.gd"
|
||||
|
||||
[display]
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user