beta-1.3/restructure-files (#2)
Reviewed-on: #2
This commit was merged in pull request #2.
This commit is contained in:
11
Maps/Common/Scripts/shop.gd
Normal file
11
Maps/Common/Scripts/shop.gd
Normal file
@@ -0,0 +1,11 @@
|
||||
extends Node2D
|
||||
|
||||
@onready var item_notification: Label = $"CanvasLayer/Item Notification"
|
||||
|
||||
|
||||
func _on_player_shop_item_scanned(item_name: String) -> void:
|
||||
item_notification.text = item_name
|
||||
|
||||
|
||||
func _on_player_shop_item_unscanned() -> void:
|
||||
item_notification.text = ""
|
||||
1
Maps/Common/Scripts/shop.gd.uid
Normal file
1
Maps/Common/Scripts/shop.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://btg630l3xo16w
|
||||
150
Maps/Common/shop.tscn
Normal file
150
Maps/Common/shop.tscn
Normal file
@@ -0,0 +1,150 @@
|
||||
[gd_scene format=4 uid="uid://bwt0ijoq4qmhn"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://btg630l3xo16w" path="res://Maps/Common/Scripts/shop.gd" id="1_83xsp"]
|
||||
[ext_resource type="TileSet" uid="uid://df0lg5vkqwbbt" path="res://Resources/Tilesets/home_interior.tres" id="2_kt7c3"]
|
||||
[ext_resource type="Script" uid="uid://cpr710p4wdgx" path="res://Maps/Connectors/Scripts/shop_item_label_connector.gd" id="2_r8s0p"]
|
||||
[ext_resource type="PackedScene" uid="uid://ddgeo3vwebqeg" path="res://Entities/Map Objects/Mechanisms/shop_item.tscn" id="3_7ftpj"]
|
||||
[ext_resource type="Script" uid="uid://dkcsftcdqtmg" path="res://Maps/Connectors/Scripts/spawn_marker_connector.gd" id="3_t8w5b"]
|
||||
[ext_resource type="Texture2D" uid="uid://hop1gedjh8s4" path="res://Assets/Spritesheets/Player/icons_full_32.png" id="4_r8s0p"]
|
||||
[ext_resource type="PackedScene" uid="uid://6athlweutl2g" path="res://Entities/Characters/Player/player.tscn" id="5_6ky6i"]
|
||||
[ext_resource type="Texture2D" uid="uid://crebnygky3qv0" path="res://Assets/Sprites/Black Square.png" id="6_kt7c3"]
|
||||
[ext_resource type="PackedScene" uid="uid://bbules4o3xayc" path="res://Entities/Map Objects/Loading Zone/loading_zone_transporter.tscn" id="6_t8w5b"]
|
||||
[ext_resource type="Texture2D" uid="uid://bf6llktwqhs8l" path="res://Assets/Sprites/Door Fade.png" id="7_7ftpj"]
|
||||
[ext_resource type="PackedScene" uid="uid://ca75b65eh7vv8" path="res://Entities/Map Objects/Loading Zone/collision_loading_zone.tscn" id="9_kp1fr"]
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_fdj0q"]
|
||||
atlas = ExtResource("4_r8s0p")
|
||||
region = Rect2(0, 960, 32, 32)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_fdj0q"]
|
||||
size = Vector2(8, 6)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_k6jq0"]
|
||||
atlas = ExtResource("4_r8s0p")
|
||||
region = Rect2(128, 704, 32, 32)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_83xsp"]
|
||||
size = Vector2(14, 6)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_3ps1r"]
|
||||
atlas = ExtResource("4_r8s0p")
|
||||
region = Rect2(32, 544, 32, 32)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_kt7c3"]
|
||||
size = Vector2(12, 6)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_kp1fr"]
|
||||
size = Vector2(32, 6)
|
||||
|
||||
[node name="Shop" type="Node2D" unique_id=547318403]
|
||||
script = ExtResource("1_83xsp")
|
||||
|
||||
[node name="Shop Item Notification Connector" type="Node" parent="." unique_id=1088308326]
|
||||
script = ExtResource("2_r8s0p")
|
||||
|
||||
[node name="Spawn Marker Connector" type="Node" parent="." unique_id=2053338893 node_paths=PackedStringArray("player", "markers")]
|
||||
script = ExtResource("3_t8w5b")
|
||||
player = NodePath("../Player")
|
||||
markers = NodePath("../Spawn Markers")
|
||||
|
||||
[node name="Tilemap" type="Node2D" parent="." unique_id=81778152]
|
||||
|
||||
[node name="TileMapLayer" type="TileMapLayer" parent="Tilemap" unique_id=1856499099]
|
||||
tile_map_data = PackedByteArray("AAANAAgAAQAAAAIAAAANAAkAAQAAAAMAAAAOAAgAAQABAAIAAAAOAAkAAQABAAMAAAANAAoAAQAAAAIAAAANAAsAAQAAAAMAAAAOAAoAAQABAAIAAAAOAAsAAQABAAMAAAAPAAoAAQAAAAIAAAAPAAsAAQAAAAMAAAAQAAoAAQABAAIAAAAQAAsAAQABAAMAAAARAAoAAQAAAAIAAAARAAsAAQAAAAMAAAASAAoAAQABAAIAAAASAAsAAQABAAMAAAATAAoAAQAAAAIAAAATAAsAAQAAAAMAAAAUAAoAAQABAAIAAAAUAAsAAQABAAMAAAAVAAoAAQAAAAIAAAAVAAsAAQAAAAMAAAAWAAoAAQABAAIAAAAWAAsAAQABAAMAAAAXAAoAAQAAAAIAAAAXAAsAAQAAAAMAAAAYAAoAAQABAAIAAAAYAAsAAQABAAMAAAAZAAoAAQAAAAIAAAAZAAsAAQAAAAMAAAAaAAoAAQABAAIAAAAaAAsAAQABAAMAAAAZAAgAAQAAAAIAAAAZAAkAAQAAAAMAAAAaAAgAAQABAAIAAAAaAAkAAQABAAMAAAAXAAgAAQAAAAIAAAAXAAkAAQAAAAMAAAAYAAgAAQABAAIAAAAYAAkAAQABAAMAAAAVAAgAAQAAAAIAAAAVAAkAAQAAAAMAAAAWAAgAAQABAAIAAAAWAAkAAQABAAMAAAATAAgAAQAAAAIAAAATAAkAAQAAAAMAAAAUAAgAAQABAAIAAAAUAAkAAQABAAMAAAARAAgAAQAAAAIAAAARAAkAAQAAAAMAAAASAAgAAQABAAIAAAASAAkAAQABAAMAAAAPAAgAAQAAAAIAAAAPAAkAAQAAAAMAAAAQAAgAAQABAAIAAAAQAAkAAQABAAMAAAALAAoAAQAAAAIAAAALAAsAAQAAAAMAAAAMAAoAAQABAAIAAAAMAAsAAQABAAMAAAALAAwAAQAAAAIAAAALAA0AAQAAAAMAAAAMAAwAAQABAAIAAAAMAA0AAQABAAMAAAANAAwAAQAAAAIAAAANAA0AAQAAAAMAAAAOAAwAAQABAAIAAAAOAA0AAQABAAMAAAAPAAwAAQAAAAIAAAAPAA0AAQAAAAMAAAAQAAwAAQABAAIAAAAQAA0AAQABAAMAAAARAAwAAQAAAAIAAAARAA0AAQAAAAMAAAASAAwAAQABAAIAAAASAA0AAQABAAMAAAATAAwAAQAAAAIAAAATAA0AAQAAAAMAAAAUAAwAAQABAAIAAAAUAA0AAQABAAMAAAAVAAwAAQAAAAIAAAAVAA0AAQAAAAMAAAAWAAwAAQABAAIAAAAWAA0AAQABAAMAAAAXAAwAAQAAAAIAAAAXAA0AAQAAAAMAAAAYAAwAAQABAAIAAAAYAA0AAQABAAMAAAAZAAwAAQAAAAIAAAAZAA0AAQAAAAMAAAAaAAwAAQABAAIAAAAaAA0AAQABAAMAAAALAAgAAQAAAAIAAAALAAkAAQAAAAMAAAAMAAgAAQABAAIAAAAMAAkAAQABAAMAAAALAAUAAAAKAAMAAAALAAYAAAAKAAQAAAALAAcAAAAKAAUAAAAaAAUAAAALAAMAAAAaAAYAAAALAAQAAAAaAAcAAAALAAUAAAAMAAUAAAAEAAMAAAAMAAYAAAAEAAQAAAAMAAcAAAAEAAUAAAANAAUAAAAEAAMAAAANAAYAAAAEAAQAAAANAAcAAAAEAAUAAAAOAAUAAAAEAAMAAAAOAAYAAAAEAAQAAAAOAAcAAAAEAAUAAAAPAAUAAAAEAAMAAAAPAAYAAAAEAAQAAAAPAAcAAAAEAAUAAAAQAAUAAAAEAAMAAAAQAAYAAAAEAAQAAAAQAAcAAAAEAAUAAAARAAUAAAAEAAMAAAARAAYAAAAEAAQAAAARAAcAAAAEAAUAAAASAAUAAAAEAAMAAAASAAYAAAAEAAQAAAASAAcAAAAEAAUAAAATAAUAAAAEAAMAAAATAAYAAAAEAAQAAAATAAcAAAAEAAUAAAAUAAUAAAAEAAMAAAAUAAYAAAAEAAQAAAAUAAcAAAAEAAUAAAAVAAUAAAAEAAMAAAAVAAYAAAAEAAQAAAAVAAcAAAAEAAUAAAAWAAUAAAAEAAMAAAAWAAYAAAAEAAQAAAAWAAcAAAAEAAUAAAAXAAUAAAAEAAMAAAAXAAYAAAAEAAQAAAAXAAcAAAAEAAUAAAAYAAUAAAAEAAMAAAAYAAYAAAAEAAQAAAAYAAcAAAAEAAUAAAAZAAUAAAAEAAMAAAAZAAYAAAAEAAQAAAAZAAcAAAAEAAUAAAALAAQAAAABAAAAAAAMAAQAAAABAAAAAAANAAQAAAABAAAAAAAOAAQAAAABAAAAAAAPAAQAAAABAAAAAAAQAAQAAAABAAAAAAARAAQAAAABAAAAAAASAAQAAAABAAAAAAATAAQAAAABAAAAAAAUAAQAAAABAAAAAAAVAAQAAAABAAAAAAAWAAQAAAABAAAAAAAXAAQAAAABAAAAAAAYAAQAAAABAAAAAAAZAAQAAAABAAAAAAAaAAQAAAABAAAAAAAbAAUAAAACAAEAAAAbAAYAAAACAAEAAAAbAAcAAAACAAEAAAAbAAgAAAACAAEAAAAbAAkAAAACAAEAAAAbAAoAAAACAAEAAAAbAAsAAAACAAEAAAAbAAwAAAACAAEAAAAbAA0AAAACAAEAAAAKAAUAAAAAAAEAAAAKAAYAAAAAAAEAAAAKAAcAAAAAAAEAAAAKAAgAAAAAAAEAAAAKAAkAAAAAAAEAAAAKAAoAAAAAAAEAAAAKAAsAAAAAAAEAAAAKAAwAAAAAAAEAAAAKAA0AAAAAAAEAAAAKAAQAAAAAAAAAAAAbAAQAAAACAAAAAAAKAA4AAAAAAAIAAAALAA4AAAABAAIAAAAMAA4AAAAEAAEAAAAPAA4AAAADAAEAAAAUAA4AAAABAAIAAAAVAA4AAAABAAIAAAAWAA4AAAABAAIAAAAXAA4AAAABAAIAAAAYAA4AAAABAAIAAAAZAA4AAAABAAIAAAAaAA4AAAABAAIAAAAbAA4AAAACAAIAAAAQAA4AAAABAAIAAAARAA4AAAABAAIAAAASAA4AAAABAAIAAAATAA4AAAABAAIAAAANAA4AAQAAAAIAAAAOAA4AAQABAAIAAAAPAA8AAAACAAIAAAAMAA8AAAAAAAIAAAA=")
|
||||
tile_set = ExtResource("2_kt7c3")
|
||||
|
||||
[node name="TileMapLayer2" type="TileMapLayer" parent="Tilemap" unique_id=970584760]
|
||||
tile_map_data = PackedByteArray("AAALAAkAAgADAAIAAAALAAoAAgADAAMAAAAMAAkAAgAEAAIAAAAMAAoAAgAEAAMAAAANAAkAAgAEAAIAAAANAAoAAgAEAAMAAAAOAAkAAgAEAAIAAAAOAAoAAgAEAAMAAAAPAAkAAgAEAAIAAAAPAAoAAgAEAAMAAAAQAAkAAgAFAAIAAAAQAAoAAgAFAAMAAAATAAkAAgADAAIAAAATAAoAAgADAAMAAAAUAAkAAgAEAAIAAAAUAAoAAgAEAAMAAAAVAAkAAgAEAAIAAAAVAAoAAgAEAAMAAAAWAAkAAgAEAAIAAAAWAAoAAgAEAAMAAAAXAAkAAgAEAAIAAAAXAAoAAgAEAAMAAAAYAAkAAgAEAAIAAAAYAAoAAgAEAAMAAAAZAAkAAgAEAAIAAAAZAAoAAgAEAAMAAAAaAAkAAgAFAAIAAAAaAAoAAgAFAAMAAAA=")
|
||||
tile_set = ExtResource("2_kt7c3")
|
||||
|
||||
[node name="Items For Sale" type="Node2D" parent="." unique_id=1720300524]
|
||||
|
||||
[node name="Wooden Sword" parent="Items For Sale" unique_id=8248758 instance=ExtResource("3_7ftpj")]
|
||||
position = Vector2(193, 156)
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="Items For Sale/Wooden Sword" unique_id=1754807739]
|
||||
scale = Vector2(0.5, 0.5)
|
||||
texture = SubResource("AtlasTexture_fdj0q")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Items For Sale/Wooden Sword" unique_id=145882430]
|
||||
position = Vector2(-1, 8)
|
||||
shape = SubResource("RectangleShape2D_fdj0q")
|
||||
debug_color = Color(0.9710676, 0.103622, 0.35069537, 0.41960785)
|
||||
|
||||
[node name="Bronze Key" parent="Items For Sale" unique_id=1844694995 instance=ExtResource("3_7ftpj")]
|
||||
position = Vector2(219, 159)
|
||||
check_location = 1
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="Items For Sale/Bronze Key" unique_id=1718023639]
|
||||
position = Vector2(6, -2)
|
||||
scale = Vector2(0.5, 0.5)
|
||||
texture = SubResource("AtlasTexture_k6jq0")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Items For Sale/Bronze Key" unique_id=228842260]
|
||||
position = Vector2(6, 4)
|
||||
shape = SubResource("RectangleShape2D_83xsp")
|
||||
debug_color = Color(0.9710676, 0.103622, 0.35069537, 0.41960785)
|
||||
|
||||
[node name="Potion" parent="Items For Sale" unique_id=817810520 instance=ExtResource("3_7ftpj")]
|
||||
position = Vector2(255, 156)
|
||||
check_location = 2
|
||||
|
||||
[node name="Sprite" type="Sprite2D" parent="Items For Sale/Potion" unique_id=625278572]
|
||||
scale = Vector2(0.5, 0.5)
|
||||
texture = SubResource("AtlasTexture_3ps1r")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Items For Sale/Potion" unique_id=2016098276]
|
||||
position = Vector2(0, 7)
|
||||
shape = SubResource("RectangleShape2D_kt7c3")
|
||||
debug_color = Color(0.9710676, 0.103622, 0.35069537, 0.41960785)
|
||||
|
||||
[node name="Loading Zones" type="Node2D" parent="." unique_id=525992692]
|
||||
|
||||
[node name="Collision Loading Zone" parent="Loading Zones" unique_id=1043800735 node_paths=PackedStringArray("loading_zone_transporter") instance=ExtResource("9_kp1fr")]
|
||||
loading_zone_transporter = NodePath("Loading Zone Transporter")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Loading Zones/Collision Loading Zone" unique_id=1798970421]
|
||||
position = Vector2(224, 243)
|
||||
shape = SubResource("RectangleShape2D_kp1fr")
|
||||
|
||||
[node name="Loading Zone Transporter" parent="Loading Zones/Collision Loading Zone" unique_id=1690817663 instance=ExtResource("6_t8w5b")]
|
||||
destination_marker_name = "Shop Entrance"
|
||||
|
||||
[node name="Spawn Markers" type="Node2D" parent="." unique_id=680471197]
|
||||
|
||||
[node name="Shop Entrance" type="Marker2D" parent="Spawn Markers" unique_id=122141189]
|
||||
position = Vector2(223, 225)
|
||||
|
||||
[node name="Player" parent="." unique_id=1502234578 instance=ExtResource("5_6ky6i")]
|
||||
position = Vector2(289, 174)
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="." unique_id=1684491254]
|
||||
position = Vector2(307, 165)
|
||||
zoom = Vector2(3, 3)
|
||||
|
||||
[node name="CanvasLayer" type="CanvasLayer" parent="." unique_id=1847766034]
|
||||
|
||||
[node name="Item Notification" type="Label" parent="CanvasLayer" unique_id=55309360]
|
||||
anchors_preset = 3
|
||||
anchor_left = 1.0
|
||||
anchor_top = 1.0
|
||||
anchor_right = 1.0
|
||||
anchor_bottom = 1.0
|
||||
offset_left = -40.0
|
||||
offset_top = -23.0
|
||||
grow_horizontal = 0
|
||||
grow_vertical = 0
|
||||
|
||||
[node name="Background" type="Sprite2D" parent="." unique_id=607338553]
|
||||
z_index = -999
|
||||
position = Vector2(356.5, 187.5)
|
||||
scale = Vector2(23.28125, 12.71875)
|
||||
texture = ExtResource("6_kt7c3")
|
||||
|
||||
[node name="Door Fade" type="Sprite2D" parent="." unique_id=833339897]
|
||||
position = Vector2(224, 232)
|
||||
scale = Vector2(2, 1)
|
||||
texture = ExtResource("7_7ftpj")
|
||||
|
||||
[connection signal="InteractScannerAreaEntered" from="Player" to="Shop Item Notification Connector" method="OnPlayerInteractScannerAreaEntered"]
|
||||
[connection signal="InteractScannerAreaExited" from="Player" to="Shop Item Notification Connector" method="OnPlayerInteractScannerAreaExited"]
|
||||
54
Maps/Connectors/Scripts/bench_interaction_connector.gd
Normal file
54
Maps/Connectors/Scripts/bench_interaction_connector.gd
Normal file
@@ -0,0 +1,54 @@
|
||||
extends Node
|
||||
class_name BenchInteractionConnector
|
||||
|
||||
# Signals
|
||||
signal SitOnBenchTriggered(position: Vector2, sitting_direction: Enums.Directions)
|
||||
|
||||
# Exports
|
||||
@export var player: PlayerCharacter
|
||||
|
||||
# Private Variables
|
||||
var _benches_in_range: Array[WoodenBench] = []
|
||||
|
||||
# Private Methods
|
||||
func _ready() -> void:
|
||||
player.interact_scanner.area_entered.connect(_on_interact_scanned)
|
||||
player.interact_scanner.area_exited.connect(_on_interact_unscanned)
|
||||
player.interact_scanner.InteractionActionTriggered.connect(_on_interact_triggered)
|
||||
|
||||
|
||||
func _on_interact_scanned(area: Area2D) -> void:
|
||||
var parent := area.get_parent()
|
||||
if parent == null or parent is not WoodenBench or _benches_in_range.has(parent):
|
||||
return
|
||||
_benches_in_range.append(parent)
|
||||
|
||||
|
||||
func _on_interact_unscanned(area: Area2D) -> void:
|
||||
var parent: Node = area.get_parent()
|
||||
if parent == null or parent is not WoodenBench or !_benches_in_range.has(parent):
|
||||
return
|
||||
_benches_in_range.erase(parent)
|
||||
|
||||
|
||||
func _on_interact_triggered() -> void:
|
||||
if _benches_in_range.is_empty():
|
||||
return
|
||||
|
||||
var bench := _benches_in_range[0]
|
||||
var sitting_spots_container := bench.get_node("Sitting Spots") as Node2D
|
||||
var sitting_spot_markers := sitting_spots_container.get_children()
|
||||
|
||||
var closest_marker: Marker2D
|
||||
var distance_to_player := 9999.0
|
||||
for node in sitting_spot_markers:
|
||||
var marker := node as Marker2D
|
||||
var distance := marker.global_position.distance_to(player.global_position)
|
||||
if distance < distance_to_player:
|
||||
closest_marker = marker
|
||||
distance_to_player = distance
|
||||
|
||||
if !closest_marker:
|
||||
return
|
||||
|
||||
player.SitOnFurnitureTriggered.emit(closest_marker.global_position, Enums.Directions.DOWN)
|
||||
@@ -0,0 +1 @@
|
||||
uid://c5yjcjk51l4bd
|
||||
26
Maps/Connectors/Scripts/camera_limit_connector.gd
Normal file
26
Maps/Connectors/Scripts/camera_limit_connector.gd
Normal file
@@ -0,0 +1,26 @@
|
||||
extends Area2D
|
||||
|
||||
@export var camera_to_limit: Camera2D
|
||||
@export var auto_limit := true
|
||||
|
||||
func _ready() -> void:
|
||||
if camera_to_limit == null or !auto_limit or get_child_count() == 0:
|
||||
return
|
||||
|
||||
var collision_shape: CollisionShape2D = get_children()[0]
|
||||
if collision_shape.shape is not RectangleShape2D:
|
||||
return
|
||||
|
||||
var limits := _get_normalized_limits(collision_shape)
|
||||
camera_to_limit.limit_left = limits.position.x
|
||||
camera_to_limit.limit_top = limits.position.y
|
||||
camera_to_limit.limit_right = limits.end.x
|
||||
camera_to_limit.limit_bottom = limits.end.y
|
||||
|
||||
|
||||
func _get_normalized_limits(collision_shape: CollisionShape2D) -> Rect2i:
|
||||
var rectangle_shape := collision_shape.shape as RectangleShape2D
|
||||
var rect_position := collision_shape.position
|
||||
var size := rectangle_shape.size
|
||||
var begin := rect_position - size / 2
|
||||
return Rect2(begin.x, begin.y, size.x, size.y)
|
||||
1
Maps/Connectors/Scripts/camera_limit_connector.gd.uid
Normal file
1
Maps/Connectors/Scripts/camera_limit_connector.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://kfupww4frb1r
|
||||
76
Maps/Connectors/Scripts/chest_interaction_connector.gd
Normal file
76
Maps/Connectors/Scripts/chest_interaction_connector.gd
Normal file
@@ -0,0 +1,76 @@
|
||||
extends Node
|
||||
|
||||
# Signals
|
||||
signal OpeningOfOpenedChestAttempted
|
||||
|
||||
# Exports
|
||||
@export var player: PlayerCharacter
|
||||
@export var auto_connect_all_chests := true
|
||||
|
||||
# Private Variables
|
||||
var _chests_in_range: Array[BaseChest] = []
|
||||
|
||||
# Private Methods
|
||||
func _ready() -> void:
|
||||
player.interact_scanner.area_entered.connect(_on_interact_scanned)
|
||||
player.interact_scanner.area_exited.connect(_on_interact_unscanned)
|
||||
player.interact_scanner.InteractionActionTriggered.connect(_on_interact_triggered)
|
||||
|
||||
var chests := GroupUtils.GetAllTreasureChests()
|
||||
for chest in chests:
|
||||
chest.OpeningAnimationStarted.connect(_on_chest_opening_animation_started)
|
||||
|
||||
|
||||
func _on_chest_opening_animation_started() -> void:
|
||||
var player := GroupUtils.GetPlayer()
|
||||
var children := player.get_children()
|
||||
|
||||
player.QueueCutsceneState()
|
||||
|
||||
var camera_idx := children.find_custom(func(x): return x is Camera2D)
|
||||
if camera_idx == -1: return
|
||||
|
||||
# Zoom In
|
||||
var camera := children[camera_idx] as Camera2D
|
||||
var current_zoom := camera.zoom
|
||||
await get_tree().create_tween().tween_property(camera, "zoom", current_zoom + Vector2(2, 2), 0.5).finished
|
||||
|
||||
# Player the player's chest opening animation
|
||||
player.state_machine.QueueStateChange(PlayerStateMachine.States.PLAY_ANIMATION, { "animation_name": "opening-chest-down" })
|
||||
await player.state_machine.StateChanged
|
||||
var play_animation_state := player.state_machine.current_state as PlayerPlayAnimationState
|
||||
await play_animation_state.AnimationFinished
|
||||
player.state_machine.QueueStateChange(PlayerStateMachine.States.IDLE)
|
||||
|
||||
# Zoom back out
|
||||
await get_tree().create_tween().tween_property(camera, "zoom", current_zoom, 0.5).finished
|
||||
|
||||
|
||||
func _on_interact_scanned(area: Area2D) -> void:
|
||||
var chest = area.get_parent()
|
||||
if chest == null or chest is not BaseChest:
|
||||
return
|
||||
if _chests_in_range.has(chest):
|
||||
return
|
||||
_chests_in_range.append(chest)
|
||||
|
||||
|
||||
func _on_interact_unscanned(area: Area2D) -> void:
|
||||
var chest = area.get_parent()
|
||||
if chest == null or chest is not BaseChest:
|
||||
return
|
||||
if !_chests_in_range.has(chest):
|
||||
return
|
||||
_chests_in_range.erase(chest)
|
||||
|
||||
|
||||
func _on_interact_triggered() -> void:
|
||||
if _chests_in_range.is_empty():
|
||||
return
|
||||
|
||||
var chest := _chests_in_range[0]
|
||||
if !chest.is_open:
|
||||
chest.Open()
|
||||
else:
|
||||
chest.OpenAlreadyOpened()
|
||||
OpeningOfOpenedChestAttempted.emit()
|
||||
@@ -0,0 +1 @@
|
||||
uid://dw76slp457s1v
|
||||
12
Maps/Connectors/Scripts/collision_loading_zone_connector.gd
Normal file
12
Maps/Connectors/Scripts/collision_loading_zone_connector.gd
Normal file
@@ -0,0 +1,12 @@
|
||||
extends Node
|
||||
|
||||
@export var player: PlayerCharacter
|
||||
|
||||
# Public Methods
|
||||
func OnPlayerAreaEntered(area: Area2D) -> void:
|
||||
pass
|
||||
|
||||
|
||||
# Private Methods
|
||||
func _ready() -> void:
|
||||
pass
|
||||
@@ -0,0 +1 @@
|
||||
uid://dbscr0b7k3rtp
|
||||
@@ -0,0 +1,35 @@
|
||||
extends Node
|
||||
|
||||
# Exports
|
||||
@export var player: PlayerCharacter
|
||||
|
||||
# Private Variables
|
||||
var _zones_in_range: Array[InteractiveLoadingZone] = []
|
||||
|
||||
# Private Methods
|
||||
func _ready() -> void:
|
||||
player.interact_scanner.area_entered.connect(_on_interact_scanned)
|
||||
player.interact_scanner.area_exited.connect(_on_interact_unscanned)
|
||||
player.interact_scanner.InteractionActionTriggered.connect(_on_interact_triggered)
|
||||
|
||||
|
||||
func _on_interact_scanned(area: Area2D) -> void:
|
||||
if area is not InteractiveLoadingZone or _zones_in_range.has(area):
|
||||
return
|
||||
|
||||
_zones_in_range.append(area)
|
||||
|
||||
|
||||
func _on_interact_unscanned(area: Area2D) -> void:
|
||||
if area is not InteractiveLoadingZone or !_zones_in_range.has(area):
|
||||
return
|
||||
|
||||
_zones_in_range.erase(area)
|
||||
|
||||
|
||||
func _on_interact_triggered() -> void:
|
||||
if _zones_in_range.is_empty():
|
||||
return
|
||||
|
||||
var zone := _zones_in_range[0]
|
||||
zone.Activate()
|
||||
@@ -0,0 +1 @@
|
||||
uid://d3hhbegfxdnqq
|
||||
27
Maps/Connectors/Scripts/shop_item_label_connector.gd
Normal file
27
Maps/Connectors/Scripts/shop_item_label_connector.gd
Normal file
@@ -0,0 +1,27 @@
|
||||
extends Node
|
||||
|
||||
@onready var item_notification: Label = $"../CanvasLayer/Item Notification"
|
||||
|
||||
var current_shop_item: ShopItem = null
|
||||
|
||||
# Public Methods
|
||||
func OnPlayerInteractScannerAreaEntered(area: Area2D) -> void:
|
||||
if area is not ShopItem:
|
||||
return
|
||||
|
||||
var shop_item := area as ShopItem
|
||||
if shop_item != current_shop_item:
|
||||
current_shop_item = shop_item
|
||||
var check_location := shop_item.check_location
|
||||
var item := GameManager.location_items.CheckItemAtLocation(check_location)
|
||||
var item_name: String = Enums.Items.keys()[item]
|
||||
item_notification.text = item_name
|
||||
|
||||
|
||||
func OnPlayerInteractScannerAreaExited(area: Area2D) -> void:
|
||||
if area is not ShopItem:
|
||||
return
|
||||
|
||||
if area == current_shop_item:
|
||||
item_notification.text = ""
|
||||
current_shop_item = null
|
||||
1
Maps/Connectors/Scripts/shop_item_label_connector.gd.uid
Normal file
1
Maps/Connectors/Scripts/shop_item_label_connector.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://cpr710p4wdgx
|
||||
16
Maps/Connectors/Scripts/spawn_marker_connector.gd
Normal file
16
Maps/Connectors/Scripts/spawn_marker_connector.gd
Normal file
@@ -0,0 +1,16 @@
|
||||
extends Node
|
||||
|
||||
@export var player: CharacterBody2D
|
||||
@export var markers: Node2D
|
||||
|
||||
# Public Methods
|
||||
func _ready() -> void:
|
||||
var marker_name := MapLoader.GetSpawnMarker()
|
||||
if !marker_name:
|
||||
return
|
||||
|
||||
for child in markers.get_children():
|
||||
if child.name == marker_name:
|
||||
var marker := child as Marker2D
|
||||
var position := marker.global_position
|
||||
player.position = position
|
||||
1
Maps/Connectors/Scripts/spawn_marker_connector.gd.uid
Normal file
1
Maps/Connectors/Scripts/spawn_marker_connector.gd.uid
Normal file
@@ -0,0 +1 @@
|
||||
uid://dkcsftcdqtmg
|
||||
7
Maps/Connectors/arrow_spawner.tscn
Normal file
7
Maps/Connectors/arrow_spawner.tscn
Normal file
@@ -0,0 +1,7 @@
|
||||
[gd_scene format=3 uid="uid://303hbhqetdhy"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dvgd5ejerauqm" path="res://Entities/Map Objects/Entity Spawners/arrow_spawner.gd" id="1_dsltu"]
|
||||
|
||||
[node name="Arrow Spawner" type="Node" unique_id=627092886 node_paths=PackedStringArray("arrow_parent")]
|
||||
script = ExtResource("1_dsltu")
|
||||
arrow_parent = NodePath("")
|
||||
6
Maps/Connectors/bench_interaction_connector.tscn
Normal file
6
Maps/Connectors/bench_interaction_connector.tscn
Normal file
@@ -0,0 +1,6 @@
|
||||
[gd_scene format=3 uid="uid://divmfeqf10ri1"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://c5yjcjk51l4bd" path="res://Maps/Connectors/Scripts/bench_interaction_connector.gd" id="1_34r4h"]
|
||||
|
||||
[node name="Bench Interaction Connector" type="Node" unique_id=541204437]
|
||||
script = ExtResource("1_34r4h")
|
||||
6
Maps/Connectors/chest_interaction_connector.tscn
Normal file
6
Maps/Connectors/chest_interaction_connector.tscn
Normal file
@@ -0,0 +1,6 @@
|
||||
[gd_scene format=3 uid="uid://dl2jpjtbiju34"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dw76slp457s1v" path="res://Maps/Connectors/Scripts/chest_interaction_connector.gd" id="1_aitih"]
|
||||
|
||||
[node name="Chest Interaction Connector" type="Node" unique_id=625804018]
|
||||
script = ExtResource("1_aitih")
|
||||
6
Maps/Connectors/interactive_loading_zone_connector.tscn
Normal file
6
Maps/Connectors/interactive_loading_zone_connector.tscn
Normal file
@@ -0,0 +1,6 @@
|
||||
[gd_scene format=3 uid="uid://b03s7fw8bxdxs"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://d3hhbegfxdnqq" path="res://Maps/Connectors/Scripts/interactive_loading_zone_connector.gd" id="1_2sjeq"]
|
||||
|
||||
[node name="Interactive Loading Zone Connector" type="Node" unique_id=833475826]
|
||||
script = ExtResource("1_2sjeq")
|
||||
8
Maps/Connectors/spawn_marker_connector.tscn
Normal file
8
Maps/Connectors/spawn_marker_connector.tscn
Normal file
@@ -0,0 +1,8 @@
|
||||
[gd_scene format=3 uid="uid://did853bh5xeic"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dkcsftcdqtmg" path="res://Maps/Connectors/Scripts/spawn_marker_connector.gd" id="1_kb3a7"]
|
||||
|
||||
[node name="Spawn Marker Connector" type="Node" unique_id=807187299 node_paths=PackedStringArray("player", "markers")]
|
||||
script = ExtResource("1_kb3a7")
|
||||
player = NodePath("")
|
||||
markers = NodePath("")
|
||||
BIN
Maps/Forest Dungeon Entrance/Interiors/Home_01_Overlay_01.png
Normal file
BIN
Maps/Forest Dungeon Entrance/Interiors/Home_01_Overlay_01.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.6 KiB |
@@ -0,0 +1,40 @@
|
||||
[remap]
|
||||
|
||||
importer="texture"
|
||||
type="CompressedTexture2D"
|
||||
uid="uid://bqvnkdyhfa1yq"
|
||||
path="res://.godot/imported/Home_01_Overlay_01.png-26fde7ad2be3b256e0075725eafecc1c.ctex"
|
||||
metadata={
|
||||
"vram_texture": false
|
||||
}
|
||||
|
||||
[deps]
|
||||
|
||||
source_file="res://Maps/Forest Dungeon Entrance/Interiors/Home_01_Overlay_01.png"
|
||||
dest_files=["res://.godot/imported/Home_01_Overlay_01.png-26fde7ad2be3b256e0075725eafecc1c.ctex"]
|
||||
|
||||
[params]
|
||||
|
||||
compress/mode=0
|
||||
compress/high_quality=false
|
||||
compress/lossy_quality=0.7
|
||||
compress/uastc_level=0
|
||||
compress/rdo_quality_loss=0.0
|
||||
compress/hdr_compression=1
|
||||
compress/normal_map=0
|
||||
compress/channel_pack=0
|
||||
mipmaps/generate=false
|
||||
mipmaps/limit=-1
|
||||
roughness/mode=0
|
||||
roughness/src_normal=""
|
||||
process/channel_remap/red=0
|
||||
process/channel_remap/green=1
|
||||
process/channel_remap/blue=2
|
||||
process/channel_remap/alpha=3
|
||||
process/fix_alpha_border=true
|
||||
process/premult_alpha=false
|
||||
process/normal_map_invert_y=false
|
||||
process/hdr_as_srgb=false
|
||||
process/hdr_clamp_exposure=false
|
||||
process/size_limit=0
|
||||
detect_3d/compress_to=1
|
||||
167
Maps/Forest Dungeon Entrance/Interiors/home_01.tscn
Normal file
167
Maps/Forest Dungeon Entrance/Interiors/home_01.tscn
Normal file
@@ -0,0 +1,167 @@
|
||||
[gd_scene format=4 uid="uid://laxewy7irxno"]
|
||||
|
||||
[ext_resource type="Script" uid="uid://dbscr0b7k3rtp" path="res://Maps/Connectors/Scripts/collision_loading_zone_connector.gd" id="1_18bbf"]
|
||||
[ext_resource type="TileSet" uid="uid://df0lg5vkqwbbt" path="res://Resources/Tilesets/home_interior.tres" id="1_rf04x"]
|
||||
[ext_resource type="Script" uid="uid://dkcsftcdqtmg" path="res://Maps/Connectors/Scripts/spawn_marker_connector.gd" id="2_16uj4"]
|
||||
[ext_resource type="PackedScene" uid="uid://ca75b65eh7vv8" path="res://Entities/Map Objects/Loading Zone/collision_loading_zone.tscn" id="2_fdso5"]
|
||||
[ext_resource type="PackedScene" uid="uid://6athlweutl2g" path="res://Entities/Characters/Player/player.tscn" id="2_lky26"]
|
||||
[ext_resource type="PackedScene" uid="uid://bbules4o3xayc" path="res://Entities/Map Objects/Loading Zone/loading_zone_transporter.tscn" id="3_7kg22"]
|
||||
[ext_resource type="PackedScene" uid="uid://dl2jpjtbiju34" path="res://Maps/Connectors/chest_interaction_connector.tscn" id="3_ec540"]
|
||||
[ext_resource type="PackedScene" uid="uid://b7u4hlvuqiefn" path="res://Entities/Map Objects/Chests/Item Chests/item_chest_02 (Metal).tscn" id="4_a58cd"]
|
||||
[ext_resource type="PackedScene" uid="uid://b60nr4wfvijpf" path="res://Entities/Map Objects/Dialogue/dialogue_trigger.tscn" id="5_msu6a"]
|
||||
[ext_resource type="Texture2D" uid="uid://bm5ewxv51potl" path="res://Assets/Spritesheets/NPCs/Miner_Mike.png" id="6_x3y8m"]
|
||||
[ext_resource type="Texture2D" uid="uid://bqvnkdyhfa1yq" path="res://Maps/Forest Dungeon Entrance/Interiors/Home_01_Overlay_01.png" id="11_6xfm6"]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_7kg22"]
|
||||
size = Vector2(32, 8)
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_ec540"]
|
||||
size = Vector2(11, 18)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_a58cd"]
|
||||
atlas = ExtResource("6_x3y8m")
|
||||
region = Rect2(0, 0, 64, 64)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_msu6a"]
|
||||
atlas = ExtResource("6_x3y8m")
|
||||
region = Rect2(64, 0, 64, 64)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_ec540"]
|
||||
atlas = ExtResource("6_x3y8m")
|
||||
region = Rect2(128, 0, 64, 64)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_6xfm6"]
|
||||
atlas = ExtResource("6_x3y8m")
|
||||
region = Rect2(192, 0, 64, 64)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_nhbhl"]
|
||||
atlas = ExtResource("6_x3y8m")
|
||||
region = Rect2(256, 0, 64, 64)
|
||||
|
||||
[sub_resource type="AtlasTexture" id="AtlasTexture_1662b"]
|
||||
atlas = ExtResource("6_x3y8m")
|
||||
region = Rect2(320, 0, 64, 64)
|
||||
|
||||
[sub_resource type="SpriteFrames" id="SpriteFrames_qunaf"]
|
||||
animations = [{
|
||||
"frames": [{
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_a58cd")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_msu6a")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_ec540")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_6xfm6")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_nhbhl")
|
||||
}, {
|
||||
"duration": 1.0,
|
||||
"texture": SubResource("AtlasTexture_1662b")
|
||||
}],
|
||||
"loop": true,
|
||||
"name": &"default",
|
||||
"speed": 5.0
|
||||
}]
|
||||
|
||||
[sub_resource type="RectangleShape2D" id="RectangleShape2D_6xfm6"]
|
||||
size = Vector2(11, 14)
|
||||
|
||||
[node name="Home 01" type="Node2D" unique_id=1401818514]
|
||||
y_sort_enabled = true
|
||||
|
||||
[node name="Connectors" type="Node" parent="." unique_id=517749045]
|
||||
|
||||
[node name="Collision Loading Zone Connector" type="Node" parent="Connectors" unique_id=483597596]
|
||||
script = ExtResource("1_18bbf")
|
||||
|
||||
[node name="Spawn Marker Connector" type="Node" parent="Connectors" unique_id=296643918 node_paths=PackedStringArray("player", "markers")]
|
||||
script = ExtResource("2_16uj4")
|
||||
player = NodePath("../../Player")
|
||||
markers = NodePath("../../Spawn Markers")
|
||||
|
||||
[node name="Chest Interaction Connector" parent="Connectors" unique_id=625804018 node_paths=PackedStringArray("player") instance=ExtResource("3_ec540")]
|
||||
player = NodePath("../../Player")
|
||||
|
||||
[node name="Tilemap" type="Node2D" parent="." unique_id=894627186]
|
||||
y_sort_enabled = true
|
||||
|
||||
[node name="Structure" type="TileMapLayer" parent="Tilemap" unique_id=1211329497]
|
||||
tile_map_data = PackedByteArray("AAACAAUAAQAGAAAAAAACAAYAAQAGAAEAAAACAAcAAQAGAAAAAAADAAUAAQAHAAAAAAADAAYAAQAHAAEAAAADAAcAAQAHAAAAAAAEAAUAAQAGAAAAAAAEAAYAAQAGAAEAAAAEAAcAAQAGAAAAAAAFAAUAAQAHAAAAAAAFAAYAAQAHAAEAAAAFAAcAAQAHAAAAAAAGAAUAAQAGAAAAAAAGAAYAAQAGAAEAAAAGAAcAAQAGAAAAAAAHAAUAAQAHAAAAAAAHAAYAAQAHAAEAAAAHAAcAAQAHAAAAAAAIAAUAAQAGAAAAAAAIAAYAAQAGAAEAAAAIAAcAAQAGAAAAAAAJAAUAAQAHAAAAAAAJAAYAAQAHAAEAAAAJAAcAAQAHAAAAAAAKAAUAAQAGAAAAAAAKAAYAAQAGAAEAAAAKAAcAAQAGAAAAAAALAAUAAQAHAAAAAAALAAYAAQAHAAEAAAALAAcAAQAHAAAAAAAMAAUAAQAGAAAAAAAMAAYAAQAGAAEAAAAMAAcAAQAGAAAAAAANAAUAAQAHAAAAAAANAAYAAQAHAAEAAAANAAcAAQAHAAAAAAACAAgAAQAGAAEAAAACAAkAAQAGAAAAAAACAAoAAQAGAAEAAAADAAgAAQAHAAEAAAADAAkAAQAHAAAAAAADAAoAAQAHAAEAAAAEAAgAAQAGAAEAAAAEAAkAAQAGAAAAAAAEAAoAAQAGAAEAAAAFAAgAAQAHAAEAAAAFAAkAAQAHAAAAAAAFAAoAAQAHAAEAAAAGAAgAAQAGAAEAAAAGAAkAAQAGAAAAAAAGAAoAAQAGAAEAAAAHAAgAAQAHAAEAAAAHAAkAAQAHAAAAAAAHAAoAAQAHAAEAAAAIAAgAAQAGAAEAAAAIAAkAAQAGAAAAAAAIAAoAAQAGAAEAAAAJAAgAAQAHAAEAAAAJAAkAAQAHAAAAAAAJAAoAAQAHAAEAAAAKAAgAAQAGAAEAAAAKAAkAAQAGAAAAAAAKAAoAAQAGAAEAAAALAAgAAQAHAAEAAAALAAkAAQAHAAAAAAALAAoAAQAHAAEAAAAMAAgAAQAGAAEAAAAMAAkAAQAGAAAAAAAMAAoAAQAGAAEAAAANAAgAAQAHAAEAAAANAAkAAQAHAAAAAAANAAoAAQAHAAEAAAACAAQAAAAGAAUAAAACAAIAAAAGAAMAAAACAAMAAAAGAAQAAAANAAIAAAAHAAMAAAANAAMAAAAHAAQAAAANAAQAAAAHAAUAAAADAAIAAAABAAMAAAADAAMAAAABAAQAAAADAAQAAAABAAUAAAAEAAIAAAABAAMAAAAEAAMAAAABAAQAAAAEAAQAAAABAAUAAAAFAAIAAAABAAMAAAAFAAMAAAABAAQAAAAFAAQAAAABAAUAAAAGAAIAAAABAAMAAAAGAAMAAAABAAQAAAAGAAQAAAABAAUAAAAHAAIAAAABAAMAAAAHAAMAAAABAAQAAAAHAAQAAAABAAUAAAAIAAIAAAABAAMAAAAIAAMAAAABAAQAAAAIAAQAAAABAAUAAAAJAAIAAAABAAMAAAAJAAMAAAABAAQAAAAJAAQAAAABAAUAAAAKAAIAAAABAAMAAAAKAAMAAAABAAQAAAAKAAQAAAABAAUAAAALAAIAAAABAAMAAAALAAMAAAABAAQAAAALAAQAAAABAAUAAAAMAAIAAAABAAMAAAAMAAMAAAABAAQAAAAMAAQAAAABAAUAAAAOAAIAAAACAAEAAAAOAAMAAAACAAEAAAAOAAQAAAACAAEAAAAOAAUAAAACAAEAAAAOAAYAAAACAAEAAAAOAAcAAAACAAEAAAAOAAgAAAACAAEAAAAOAAkAAAACAAEAAAAOAAoAAAACAAEAAAACAAEAAAABAAAAAAADAAEAAAABAAAAAAAEAAEAAAABAAAAAAAFAAEAAAABAAAAAAAGAAEAAAABAAAAAAAHAAEAAAABAAAAAAAIAAEAAAABAAAAAAAJAAEAAAABAAAAAAAKAAEAAAABAAAAAAALAAEAAAABAAAAAAAMAAEAAAABAAAAAAANAAEAAAABAAAAAAABAAIAAAAAAAEAAAABAAMAAAAAAAEAAAABAAQAAAAAAAEAAAABAAUAAAAAAAEAAAABAAYAAAAAAAEAAAABAAcAAAAAAAEAAAABAAgAAAAAAAEAAAABAAkAAAAAAAEAAAABAAoAAAAAAAEAAAACAAsAAAABAAIAAAADAAsAAAAEAAEAAAAMAAsAAAABAAIAAAANAAsAAAABAAIAAAABAAEAAAAAAAAAAAAOAAEAAAACAAAAAAABAAsAAAAAAAIAAAAOAAsAAAACAAIAAAALAAsAAAABAAIAAAAKAAsAAAABAAIAAAAJAAsAAAABAAIAAAAIAAsAAAABAAIAAAAHAAsAAAABAAIAAAAGAAsAAAADAAEAAAAEAAsAAQAHAAAAAAAFAAsAAQAHAAAAAAA=")
|
||||
tile_set = ExtResource("1_rf04x")
|
||||
|
||||
[node name="Decor" type="TileMapLayer" parent="Tilemap" unique_id=941487815]
|
||||
y_sort_enabled = true
|
||||
tile_map_data = PackedByteArray("AAADAAQABAAAAAAAAAAEAAUABQAAAAAAAAACAAgAAgAAAAIAAAACAAkAAgAAAAMAAAADAAgAAgACAAIAAAADAAkAAgACAAMAAAAEAAgACQADAAAAAAAMAAUACwAAAAgAAAAIAAMACgAGAAAAAAAJAAQAAwAAAAAAAAAKAAQACQABAAAAAAA=")
|
||||
tile_set = ExtResource("1_rf04x")
|
||||
|
||||
[node name="Decor 2" type="TileMapLayer" parent="Tilemap" unique_id=1988290805]
|
||||
y_sort_enabled = true
|
||||
tile_map_data = PackedByteArray("AAADAAgABwAAAAQAAAA=")
|
||||
tile_set = ExtResource("1_rf04x")
|
||||
|
||||
[node name="Objects" type="Node2D" parent="." unique_id=1163373560]
|
||||
y_sort_enabled = true
|
||||
|
||||
[node name="Item Chest 02" parent="Objects" unique_id=152271802 node_paths=PackedStringArray("locked_message_dialogue_trigger") instance=ExtResource("4_a58cd")]
|
||||
position = Vector2(206, 117)
|
||||
is_locked = true
|
||||
locked_message_dialogue_trigger = NodePath("Locked Dialogue Trigger")
|
||||
|
||||
[node name="Locked Dialogue Trigger" parent="Objects/Item Chest 02" unique_id=189867444 instance=ExtResource("5_msu6a")]
|
||||
dialogue_name = "MSG_FOREST_DUNGEON_ENTRANCE_HOME_01_LOCKED_CHEST_01"
|
||||
|
||||
[node name="Loading Zones" type="Node2D" parent="." unique_id=1862302491]
|
||||
|
||||
[node name="Collision Loading Zone" parent="Loading Zones" unique_id=1043800735 node_paths=PackedStringArray("loading_zone_transporter") instance=ExtResource("2_fdso5")]
|
||||
loading_zone_transporter = NodePath("Loading Zone Transporter")
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="Loading Zones/Collision Loading Zone" unique_id=2049955470]
|
||||
position = Vector2(80, 188)
|
||||
shape = SubResource("RectangleShape2D_7kg22")
|
||||
|
||||
[node name="Loading Zone Transporter" parent="Loading Zones/Collision Loading Zone" unique_id=1690817663 instance=ExtResource("3_7kg22")]
|
||||
destination_marker_name = "Home 01 Entrance"
|
||||
|
||||
[node name="Spawn Markers" type="Node2D" parent="." unique_id=1756787676]
|
||||
|
||||
[node name="Entrance" type="Marker2D" parent="Spawn Markers" unique_id=421447336]
|
||||
position = Vector2(80, 175)
|
||||
|
||||
[node name="NPCs" type="Node2D" parent="." unique_id=1965309351]
|
||||
|
||||
[node name="CharacterBody2D" type="CharacterBody2D" parent="NPCs" unique_id=1487693855]
|
||||
position = Vector2(93, 85)
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="NPCs/CharacterBody2D" unique_id=542589948]
|
||||
position = Vector2(-0.5, -2)
|
||||
shape = SubResource("RectangleShape2D_ec540")
|
||||
|
||||
[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="NPCs/CharacterBody2D" unique_id=1921427945]
|
||||
sprite_frames = SubResource("SpriteFrames_qunaf")
|
||||
autoplay = "default"
|
||||
|
||||
[node name="Dialogue Trigger" parent="NPCs/CharacterBody2D" unique_id=661667742 instance=ExtResource("5_msu6a")]
|
||||
dialogue_name = "MSG_BLACKSMITH"
|
||||
|
||||
[node name="CollisionShape2D" type="CollisionShape2D" parent="NPCs/CharacterBody2D/Dialogue Trigger" unique_id=2044300734]
|
||||
position = Vector2(-0.5, -4)
|
||||
shape = SubResource("RectangleShape2D_6xfm6")
|
||||
debug_color = Color(0.7930861, 0.42714188, 7.70092e-07, 0.41960785)
|
||||
|
||||
[node name="Camera2D" type="Camera2D" parent="." unique_id=2134984506]
|
||||
position = Vector2(127, 110)
|
||||
zoom = Vector2(3, 3)
|
||||
|
||||
[node name="Player" parent="." unique_id=1502234578 instance=ExtResource("2_lky26")]
|
||||
position = Vector2(108, 139)
|
||||
|
||||
[node name="Overlay" type="Sprite2D" parent="." unique_id=455840170]
|
||||
position = Vector2(124, 217)
|
||||
scale = Vector2(0.25, 0.25)
|
||||
texture = ExtResource("11_6xfm6")
|
||||
offset = Vector2(16, -436)
|
||||
393
Maps/Forest Dungeon Entrance/path_to_dungeon_01.tscn
Normal file
393
Maps/Forest Dungeon Entrance/path_to_dungeon_01.tscn
Normal file
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user