From 2bfea6471cae300108f3d751162f9003233f0459 Mon Sep 17 00:00:00 2001 From: Lexi Quinn Date: Tue, 24 Jun 2025 02:55:20 +1000 Subject: [PATCH] just reorganised files thats it --- Classes/Engineer/plan.tscn | 2 +- Classes/Mage/scroll.tscn | 2 +- Enemies/Crystalisk/crystal_enemy_mat.tres | 2 +- Enemies/EyeDog/psx_model_material.tres | 2 +- PCs/PathEditTool/path_edit_tool.gd | 4 +- PCs/hero.gd | 7 +- PCs/hero.tscn | 2 +- PCs/hud.gd | 8 +- PCs/player_movement.gd | 4 +- PCs/view_movement.gd | 4 +- Projectiles/Bomb/bomb_projectile.gd | 3 +- Projectiles/Fireball/fireball_projectile.gd | 3 +- Projectiles/Icicle/icicle_projectile.gd | 3 +- Projectiles/Rocket/rocket_projectile.gd | 3 +- Scenes/CardPrinter/card_printer.tscn | 2 +- .../DraftingTable/drafting_table.glb | Bin .../DraftingTable/drafting_table.glb.import | 6 +- .../DraftingTable/drafting_table_plan_tex.png | Bin .../drafting_table_plan_tex.png.import | 6 +- cube.glb => Scenes/FlowField/cube.glb | Bin .../FlowField/cube.glb.import | 8 +- cube2.tscn => Scenes/FlowField/cube2.tscn | 2 +- .../FlowField/flow_field.gd | 4 +- .../FlowField/flow_field.gd.uid | 0 .../FlowField/flow_field.tscn | 6 +- .../FlowField/flow_field_tool.tscn | 0 .../FlowField/flow_field_tool_output.tscn | 4 +- .../FlowField/flow_node.glb | Bin .../FlowField/flow_node.glb.import | 6 +- .../FlowField/flow_node.tscn | 2 +- .../FlowField/flow_node2.tscn | 2 +- ladder.gd => Scenes/Ladder/ladder.gd | 3 +- ladder.gd.uid => Scenes/Ladder/ladder.gd.uid | 0 ladder.tscn => Scenes/Ladder/ladder.tscn | 2 +- Scenes/Menus/MainMenu/main_menu.tscn | 4 +- Scenes/TowerBase/textmesh.res | Bin 4684 -> 12435 bytes Scenes/TowerBase/tower_base.tscn | 2 +- Scenes/enemy_spawner.tscn | 10 +- Scenes/path_visual_thing.tscn | 24 -- Scenes/visual_path.tscn | 14 - Scripts/Affectors/affector.gd | 4 +- Scripts/Affectors/area_affector.gd | 3 +- Scripts/Affectors/direct_affect.gd | 3 +- Scripts/Affectors/spawn_affect.gd | 3 +- Scripts/EnemyAI/beelining_controller.gd | 3 +- Scripts/EnemyAI/enemy_movement.gd | 3 +- Scripts/EnemyAI/leaping_controller.gd | 3 +- Scripts/EnemyAI/pathing_controller.gd | 3 +- Scripts/Projectiles/explosive_projectile.gd | 3 +- Scripts/Projectiles/homing_projectile.gd | 3 +- Scripts/Projectiles/projectile.gd | 3 +- .../Projectiles/status_applying_projectile.gd | 3 +- Scripts/Resources/card.gd | 3 +- Scripts/Resources/card_text.gd | 3 +- Scripts/Resources/enemy.gd | 3 +- Scripts/Resources/hero_class.gd | 3 +- Scripts/Resources/item.gd | 3 +- Scripts/Resources/player_audio_settings.gd | 4 +- Scripts/Resources/player_graphics_settings.gd | 3 +- Scripts/Resources/player_preferences.gd | 3 +- Scripts/Resources/player_profile.gd | 3 +- Scripts/Resources/save_data.gd | 3 +- Scripts/Resources/stat_attribute.gd | 3 +- Scripts/Resources/status_stats.gd | 3 +- Scripts/StatusEffects/status_dot.gd | 3 +- Scripts/StatusEffects/status_effect.gd | 3 +- Scripts/StatusEffects/status_slow.gd | 3 +- Scripts/Weapons/hitscan_weapon.gd | 3 +- Scripts/Weapons/projectile_weapon.gd | 3 +- Scripts/Weapons/shapecast_weapon.gd | 3 +- Scripts/Weapons/status_applying_weapon.gd | 3 +- Scripts/Weapons/weapon.gd | 4 +- Scripts/alert_popup.gd | 3 +- Scripts/audio_options.gd | 3 +- Scripts/bind_button.gd | 3 +- gif_animation.gd => Scripts/boot_logo.gd | 3 +- .../boot_logo.gd.uid | 0 Scripts/card_hand.gd | 3 +- card_item.gd => Scripts/card_item.gd | 3 +- card_item.gd.uid => Scripts/card_item.gd.uid | 0 Scripts/chatbox.gd | 3 +- Scripts/cinema_cam.gd | 3 +- Scripts/confirmation_popup.gd | 3 +- Scripts/corpse.gd | 3 +- Scripts/damage_particle.gd | 3 +- Scripts/effect.gd | 3 +- Scripts/eight_direction_sprite.gd | 3 +- Scripts/enemy_card.gd | 3 +- Scripts/enemy_goal.gd | 3 +- Scripts/enemy_spawner.gd | 26 +- Scripts/float_and_spin.gd | 3 +- Scripts/flow_field_tool.gd | 3 +- Scripts/flow_node.gd | 6 +- Scripts/game.gd | 2 +- Scripts/game_mode.gd | 3 +- Scripts/gameplay_options.gd | 3 +- Scripts/graphics_options.gd | 3 +- Scripts/health.gd | 3 +- Scripts/health_bar.gd | 3 +- Scripts/hitbox.gd | 3 +- Scripts/interact_button.gd | 3 +- Scripts/inventory.gd | 3 +- Scripts/item_card.gd | 3 +- Scripts/item_container.gd | 1 - Scripts/item_container.gd.uid | 1 - Scripts/keymap_data.gd | 3 +- Scripts/killbox.gd | 3 +- Scripts/level.gd | 5 +- Scripts/lifebar_segment.gd | 2 +- Scripts/lives_bar.gd | 1 + Scripts/lobby.gd | 3 +- Scripts/minimap_cam.gd | 2 +- mod_menu.gd => Scripts/mod_menu.gd | 3 +- mod_menu.gd.uid => Scripts/mod_menu.gd.uid | 0 Scripts/multiplayer_lobby.gd | 3 +- Scripts/on_top_camera.gd | 3 +- Scripts/options_menu.gd | 3 +- Scripts/path_visual_thing.gd | 17 -- Scripts/path_visual_thing.gd.uid | 1 - Scripts/pickup_notification.gd | 3 +- Scripts/round_stats.gd | 3 +- Scripts/scoreboard.gd | 3 +- Scripts/scoreboard_entry.gd | 3 +- Scripts/server_form.gd | 3 +- Scripts/singleplayer_lobby.gd | 3 +- Scripts/sprite_bobber.gd | 3 +- Scripts/status_effector.gd | 3 +- Scripts/target_dummy.gd | 3 +- Scripts/target_finder.gd | 3 +- Scripts/text_input_popup.gd | 3 +- Scripts/visualized_path.gd | 28 -- Scripts/visualized_path.gd.uid | 1 - Scripts/wave.gd | 3 +- Scripts/wave_manager.gd | 3 +- Shader/foliage.gdshader.uid | 1 - {Shader => Shaders}/foliage.gdshader | 0 .../foliage.gdshader.uid | 0 jitter.gdshader => Shaders/jitter.gdshader | 0 .../jitter.gdshader.uid | 0 .../pixelate.gdshader | 0 .../pixelate.gdshader.uid | 0 .../pixeldither.gdshader | 0 .../pixeldither.gdshader.uid | 0 .../playstation.gdshader | 0 .../playstation.gdshader.uid | 0 psx.gdshader => Shaders/psx.gdshader | 0 psx.gdshader.uid => Shaders/psx.gdshader.uid | 0 tiler.gdshader => Shaders/tiler.gdshader | 0 .../tiler.gdshader.uid | 0 .../Ascension/new_standard_material_3d.tres | 0 Towers/Ascension/tower.tscn | 4 +- Towers/BombLauncher/tower_bomb_launcher.gd | 3 +- Towers/Gatling/tower_gatling.gd | 3 +- Towers/Overclock/overclock_tower.gd | 3 +- Towers/Reactor/tower_reactor.gd | 3 +- Towers/tower.gd | 3 +- UI/AchievementPopup/achievement_popup.gd | 3 +- UI/EnemyCard/enemy_card_ui.gd | 3 +- energy_bar.gd => UI/EnergyBar/energy_bar.gd | 3 +- .../EnergyBar/energy_bar.gd.uid | 0 .../EnergyBar/energy_bar.tscn | 2 +- UI/KeybindEntry.gd | 3 +- UI/Keybinding/key_icon_map.gd | 1 + UI/enemybox.gd | 3 +- UI/hero_select_card.gd | 1 + UI/keybind_screen.gd | 3 +- .../new_style_box_flat.tres | 0 UI/new_theme.tres | 2 +- UI/tower_label.gd | 3 +- Weapons/Ascension/ascension_weapon.gd | 3 +- Weapons/Assault/weapon_assault.gd | 3 +- Weapons/Blowdart/weapon_blowdart.gd | 3 +- Weapons/BombLauncher/weapon_bomb_launcher.gd | 3 +- Weapons/Fireball/weapon_fireball.gd | 3 +- Weapons/Flamethrower/weapon_flamethrower.gd | 3 +- Weapons/Gatling/weapon_gatling.gd | 3 +- Weapons/GlueLauncher/weapon_glue_launcher.gd | 3 +- Weapons/Icicle/weapon_icicle.gd | 3 +- Weapons/Overclock/overclock_weapon.gd | 4 +- Weapons/Reactor/weapon_reactor.gd | 3 +- .../RocketLauncher/weapon_rocket_launcher.gd | 3 +- Weapons/Sniper/weapon_sniper.gd | 3 +- .../GreenPlanet/Levels/Bridge/bridge.glb | Bin .../Levels/Bridge/bridge.glb.import | 6 +- .../{first_level.tscn => Bridge/bridge.tscn} | 31 +-- .../GreenPlanet/Levels/Bridge/mat1.tres | 0 .../GreenPlanet/Levels/Bridge/mat13.tres | 0 .../GreenPlanet/Levels/Bridge/mat2.tres | 0 foliage.gdshader | 139 ---------- foliage/foliage.material | Bin 694 -> 689 bytes foliage/foliage.material.depren | Bin 0 -> 695 bytes main.tscn | 4 +- textmesh.res | Bin 12435 -> 0 bytes tile.tres | 2 +- tutorial.gd | 43 --- tutorial.gd.uid | 1 - tutorial.tscn | 252 ------------------ visualized_path.tscn | 9 - 198 files changed, 313 insertions(+), 747 deletions(-) rename drafting_table.glb => Scenes/DraftingTable/drafting_table.glb (100%) rename drafting_table.glb.import => Scenes/DraftingTable/drafting_table.glb.import (74%) rename drafting_table_plan_tex.png => Scenes/DraftingTable/drafting_table_plan_tex.png (100%) rename drafting_table_plan_tex.png.import => Scenes/DraftingTable/drafting_table_plan_tex.png.import (69%) rename cube.glb => Scenes/FlowField/cube.glb (100%) rename cube.glb.import => Scenes/FlowField/cube.glb.import (74%) rename cube2.tscn => Scenes/FlowField/cube2.tscn (73%) rename flow_field.gd => Scenes/FlowField/flow_field.gd (98%) rename flow_field.gd.uid => Scenes/FlowField/flow_field.gd.uid (100%) rename flow_field.tscn => Scenes/FlowField/flow_field.tscn (75%) rename flow_field_tool.tscn => Scenes/FlowField/flow_field_tool.tscn (100%) rename flow_field_tool_output.tscn => Scenes/FlowField/flow_field_tool_output.tscn (99%) rename flow_node.glb => Scenes/FlowField/flow_node.glb (100%) rename flow_node.glb.import => Scenes/FlowField/flow_node.glb.import (76%) rename flow_node.tscn => Scenes/FlowField/flow_node.tscn (92%) rename flow_node2.tscn => Scenes/FlowField/flow_node2.tscn (87%) rename ladder.gd => Scenes/Ladder/ladder.gd (85%) rename ladder.gd.uid => Scenes/Ladder/ladder.gd.uid (100%) rename ladder.tscn => Scenes/Ladder/ladder.tscn (90%) delete mode 100644 Scenes/path_visual_thing.tscn delete mode 100644 Scenes/visual_path.tscn rename gif_animation.gd => Scripts/boot_logo.gd (94%) rename gif_animation.gd.uid => Scripts/boot_logo.gd.uid (100%) rename card_item.gd => Scripts/card_item.gd (94%) rename card_item.gd.uid => Scripts/card_item.gd.uid (100%) delete mode 100644 Scripts/item_container.gd delete mode 100644 Scripts/item_container.gd.uid rename mod_menu.gd => Scripts/mod_menu.gd (95%) rename mod_menu.gd.uid => Scripts/mod_menu.gd.uid (100%) delete mode 100644 Scripts/path_visual_thing.gd delete mode 100644 Scripts/path_visual_thing.gd.uid delete mode 100644 Scripts/visualized_path.gd delete mode 100644 Scripts/visualized_path.gd.uid delete mode 100644 Shader/foliage.gdshader.uid rename {Shader => Shaders}/foliage.gdshader (100%) rename foliage.gdshader.uid => Shaders/foliage.gdshader.uid (100%) rename jitter.gdshader => Shaders/jitter.gdshader (100%) rename jitter.gdshader.uid => Shaders/jitter.gdshader.uid (100%) rename pixelate.gdshader => Shaders/pixelate.gdshader (100%) rename pixelate.gdshader.uid => Shaders/pixelate.gdshader.uid (100%) rename pixeldither.gdshader => Shaders/pixeldither.gdshader (100%) rename pixeldither.gdshader.uid => Shaders/pixeldither.gdshader.uid (100%) rename playstation.gdshader => Shaders/playstation.gdshader (100%) rename playstation.gdshader.uid => Shaders/playstation.gdshader.uid (100%) rename psx.gdshader => Shaders/psx.gdshader (100%) rename psx.gdshader.uid => Shaders/psx.gdshader.uid (100%) rename tiler.gdshader => Shaders/tiler.gdshader (100%) rename tiler.gdshader.uid => Shaders/tiler.gdshader.uid (100%) rename new_standard_material_3d.tres => Towers/Ascension/new_standard_material_3d.tres (100%) rename energy_bar.gd => UI/EnergyBar/energy_bar.gd (99%) rename energy_bar.gd.uid => UI/EnergyBar/energy_bar.gd.uid (100%) rename energy_bar.tscn => UI/EnergyBar/energy_bar.tscn (99%) rename new_style_box_flat.tres => UI/new_style_box_flat.tres (100%) rename bridge.glb => Worlds/GreenPlanet/Levels/Bridge/bridge.glb (100%) rename bridge.glb.import => Worlds/GreenPlanet/Levels/Bridge/bridge.glb.import (81%) rename Worlds/GreenPlanet/Levels/{first_level.tscn => Bridge/bridge.tscn} (76%) rename mat1.tres => Worlds/GreenPlanet/Levels/Bridge/mat1.tres (100%) rename mat13.tres => Worlds/GreenPlanet/Levels/Bridge/mat13.tres (100%) rename mat2.tres => Worlds/GreenPlanet/Levels/Bridge/mat2.tres (100%) delete mode 100644 foliage.gdshader create mode 100644 foliage/foliage.material.depren delete mode 100644 textmesh.res delete mode 100644 tutorial.gd delete mode 100644 tutorial.gd.uid delete mode 100644 tutorial.tscn delete mode 100644 visualized_path.tscn diff --git a/Classes/Engineer/plan.tscn b/Classes/Engineer/plan.tscn index 161f07c..0467768 100644 --- a/Classes/Engineer/plan.tscn +++ b/Classes/Engineer/plan.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=14 format=4 uid="uid://dq8v5e11rvyi6"] -[ext_resource type="Script" uid="uid://bj7oafusrrsk" path="res://card_item.gd" id="2_kobsv"] +[ext_resource type="Script" uid="uid://bj7oafusrrsk" path="res://Scripts/card_item.gd" id="2_kobsv"] [ext_resource type="Script" uid="uid://cl2mi4bnpatwk" path="res://Scripts/float_and_spin.gd" id="3_b2a1t"] [ext_resource type="Texture2D" uid="uid://dds48gjgiyjp6" path="res://Classes/Engineer/plan_plan_tex.png" id="4_75s6s"] [ext_resource type="Material" uid="uid://dq30v3hgyi4da" path="res://Classes/Engineer/mouse_hover_material.tres" id="5_2u312"] diff --git a/Classes/Mage/scroll.tscn b/Classes/Mage/scroll.tscn index 64d3d13..37ee297 100644 --- a/Classes/Mage/scroll.tscn +++ b/Classes/Mage/scroll.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=12 format=4 uid="uid://bfxgtf1v1okat"] -[ext_resource type="Script" uid="uid://bj7oafusrrsk" path="res://card_item.gd" id="1_rlle2"] +[ext_resource type="Script" uid="uid://bj7oafusrrsk" path="res://Scripts/card_item.gd" id="1_rlle2"] [ext_resource type="PackedScene" uid="uid://dixtx38u4jhd7" path="res://Scenes/UI/card_hand.tscn" id="2_aiko0"] [ext_resource type="Script" uid="uid://cl2mi4bnpatwk" path="res://Scripts/float_and_spin.gd" id="3_jjaja"] [ext_resource type="Texture2D" uid="uid://b0sl2tvwle1m7" path="res://Classes/Mage/scroll2_paper.png" id="4_aiko0"] diff --git a/Enemies/Crystalisk/crystal_enemy_mat.tres b/Enemies/Crystalisk/crystal_enemy_mat.tres index 449f592..ab27372 100644 --- a/Enemies/Crystalisk/crystal_enemy_mat.tres +++ b/Enemies/Crystalisk/crystal_enemy_mat.tres @@ -1,6 +1,6 @@ [gd_resource type="ShaderMaterial" load_steps=3 format=3 uid="uid://dylmoyx1tasat"] -[ext_resource type="Shader" uid="uid://c5bffujq0l70k" path="res://jitter.gdshader" id="1_4cwdh"] +[ext_resource type="Shader" uid="uid://c5bffujq0l70k" path="res://Shaders/jitter.gdshader" id="1_4cwdh"] [ext_resource type="Texture2D" uid="uid://d01y8kogfuayr" path="res://Enemies/Crystalisk/crystal_enemy.png" id="2_l5awy"] [resource] diff --git a/Enemies/EyeDog/psx_model_material.tres b/Enemies/EyeDog/psx_model_material.tres index d824ff4..0ebf725 100644 --- a/Enemies/EyeDog/psx_model_material.tres +++ b/Enemies/EyeDog/psx_model_material.tres @@ -1,6 +1,6 @@ [gd_resource type="ShaderMaterial" load_steps=3 format=3 uid="uid://bo82o88d7vo1x"] -[ext_resource type="Shader" uid="uid://c5bffujq0l70k" path="res://jitter.gdshader" id="1_crvh7"] +[ext_resource type="Shader" uid="uid://c5bffujq0l70k" path="res://Shaders/jitter.gdshader" id="1_crvh7"] [ext_resource type="Texture2D" uid="uid://wx4d2upch81n" path="res://Enemies/EyeDog/eyedog_eyedog_tex.png" id="2_j3hec"] [resource] diff --git a/PCs/PathEditTool/path_edit_tool.gd b/PCs/PathEditTool/path_edit_tool.gd index 7952b85..32c4d8d 100644 --- a/PCs/PathEditTool/path_edit_tool.gd +++ b/PCs/PathEditTool/path_edit_tool.gd @@ -1,4 +1,5 @@ -class_name PathEditTool extends Node3D +class_name PathEditTool +extends Node3D @export var hero: Hero @export var inventory: Inventory @@ -16,7 +17,6 @@ var ray_collider: Object var ray_point: Vector3 var last_point: FlowNode var last_tower_base: TowerBase - var interact_key_held: bool = false var interacted_once: bool = false var interact_held_time: float = 0.0 diff --git a/PCs/hero.gd b/PCs/hero.gd index 6c7bc76..50cb46a 100644 --- a/PCs/hero.gd +++ b/PCs/hero.gd @@ -1,4 +1,5 @@ -class_name Hero extends CharacterBody3D +class_name Hero +extends CharacterBody3D signal ready_state_changed(state: bool) @@ -39,13 +40,9 @@ var game_manager: GameManager var hovering_item: InteractButton = null var weapons_spawn_count: int = 0 #Used to prevent node name collisions for multiplayer var inventory_selected_index: int = 0 -#var equipped_card: Card -#var offhand_card: Card var equipped_weapon: int = 0 var weapons: Array[Weapon] = [null, null] var cards: Array[Card] = [null, null] -#var weapon: Weapon -#var offhand_weapon: Weapon var weapons_active: bool = false var paused: bool = false var editing_mode: bool = true diff --git a/PCs/hero.tscn b/PCs/hero.tscn index 9781ab6..719ccc6 100644 --- a/PCs/hero.tscn +++ b/PCs/hero.tscn @@ -28,7 +28,7 @@ [ext_resource type="Texture2D" uid="uid://bs2mskoyvyehv" path="res://Assets/Textures/crosshair159.png" id="25_l7gpx"] [ext_resource type="AudioStream" uid="uid://bxripx3suub1v" path="res://Audio/cardPlace3.ogg" id="26_7tm07"] [ext_resource type="Texture2D" uid="uid://0x80ptif1diq" path="res://Assets/Textures/hand_small_point.png" id="26_dfkac"] -[ext_resource type="PackedScene" uid="uid://c2id8hjico4w8" path="res://energy_bar.tscn" id="27_14ugt"] +[ext_resource type="PackedScene" uid="uid://c2id8hjico4w8" path="res://UI/EnergyBar/energy_bar.tscn" id="27_14ugt"] [ext_resource type="AudioStream" uid="uid://k1lsqkvohjpa" path="res://Audio/cardPlace4.ogg" id="27_xvxs8"] [ext_resource type="AudioStream" uid="uid://bn8lkvy5wibvo" path="res://Audio/cardSlide1.ogg" id="28_1thk8"] [ext_resource type="AudioStream" uid="uid://d32gpcu8w1yvn" path="res://Audio/cardSlide2.ogg" id="29_s0a0l"] diff --git a/PCs/hud.gd b/PCs/hud.gd index ef59043..378cb6b 100644 --- a/PCs/hud.gd +++ b/PCs/hud.gd @@ -1,6 +1,6 @@ -class_name HUD extends CanvasLayer +class_name HUD +extends CanvasLayer -var last_lives_count: int = 120 @export var player: Hero @export var wave_count: Label @export var lives_count: Label @@ -12,7 +12,6 @@ var last_lives_count: int = 120 @export var minimap_viewport: SubViewport @export var fps_label: Label @export var hover_text: RichTextLabel -var enemy_names: Array[String] @export var enemy_sprites: Array[TextureRect] @export var enemy_counts: Array[Label] @export var pickup_notif_scene: PackedScene @@ -24,6 +23,8 @@ var enemy_names: Array[String] @export var enemy_card_scene: PackedScene @export var new_energy_bar: EnergyBar +var last_lives_count: int = 120 +var enemy_names: Array[String] var map_anchor: Node3D var audio_guard: bool = false var cards: Array[EnemyCardUI] = [] @@ -155,6 +156,7 @@ func set_crosshair_visible(value: bool) -> void: crosshair.set_visible(value) #TODO: the fuck is audio_guard for? +@warning_ignore("unused_parameter") func set_weapon_energy(value: int, energy_type: Data.EnergyType) -> void: #weapon_energy_bar.value = value if player.editing_mode: diff --git a/PCs/player_movement.gd b/PCs/player_movement.gd index 03f0b10..ed5c5fd 100644 --- a/PCs/player_movement.gd +++ b/PCs/player_movement.gd @@ -1,4 +1,5 @@ -class_name PlayerMovement extends Node +class_name PlayerMovement +extends Node @export var player: CharacterBody3D @export var head: Node3D @@ -58,7 +59,6 @@ var is_in_climb_zone: bool = false var hold_climb: bool = false var ragdoll_grace_period_length: float = 0.5 var ragdoll_grace_period_elapsed: float = 0.0 - var crouching: bool = false var prev_crouch_height: float = 0.0 var new_crouch_height: float = 0.0 diff --git a/PCs/view_movement.gd b/PCs/view_movement.gd index 3dfd53f..d1be63a 100644 --- a/PCs/view_movement.gd +++ b/PCs/view_movement.gd @@ -1,4 +1,5 @@ -class_name ViewMovement extends Node3D +class_name ViewMovement +extends Node3D @export var player: CharacterBody3D @@ -19,7 +20,6 @@ class_name ViewMovement extends Node3D var sample_point: float = 0.0 var speed_factor: float = 0.0 - var trauma: float = 0.0 var trauma_recovery_speed: float = 0.7 var camera_shake: float = 0.0 diff --git a/Projectiles/Bomb/bomb_projectile.gd b/Projectiles/Bomb/bomb_projectile.gd index 6ca3ffe..a48dfc3 100644 --- a/Projectiles/Bomb/bomb_projectile.gd +++ b/Projectiles/Bomb/bomb_projectile.gd @@ -1,4 +1,5 @@ -class_name BombProjectile extends ExplosiveProjectile +class_name BombProjectile +extends ExplosiveProjectile var max_bounces: int = 1 var bounces: int = 0 diff --git a/Projectiles/Fireball/fireball_projectile.gd b/Projectiles/Fireball/fireball_projectile.gd index 15499b0..57e5114 100644 --- a/Projectiles/Fireball/fireball_projectile.gd +++ b/Projectiles/Fireball/fireball_projectile.gd @@ -1,4 +1,5 @@ -class_name FireballProjectile extends StatusApplyingProjectile +class_name FireballProjectile +extends StatusApplyingProjectile func build_status_object() -> StatusEffect: diff --git a/Projectiles/Icicle/icicle_projectile.gd b/Projectiles/Icicle/icicle_projectile.gd index 374374f..f2817bd 100644 --- a/Projectiles/Icicle/icicle_projectile.gd +++ b/Projectiles/Icicle/icicle_projectile.gd @@ -1,4 +1,5 @@ -class_name IcicleProjectile extends StatusApplyingProjectile +class_name IcicleProjectile +extends StatusApplyingProjectile func build_status_object() -> StatusEffect: diff --git a/Projectiles/Rocket/rocket_projectile.gd b/Projectiles/Rocket/rocket_projectile.gd index 31c75df..7ab169a 100644 --- a/Projectiles/Rocket/rocket_projectile.gd +++ b/Projectiles/Rocket/rocket_projectile.gd @@ -1 +1,2 @@ -class_name RocketProjectile extends HomingProjectile +class_name RocketProjectile +extends HomingProjectile diff --git a/Scenes/CardPrinter/card_printer.tscn b/Scenes/CardPrinter/card_printer.tscn index 05c2a65..0e091c0 100644 --- a/Scenes/CardPrinter/card_printer.tscn +++ b/Scenes/CardPrinter/card_printer.tscn @@ -2,7 +2,7 @@ [ext_resource type="Script" uid="uid://bivtfdl3p1brv" path="res://Scenes/CardPrinter/card_printer.gd" id="1_qft15"] [ext_resource type="Script" uid="uid://dkfswql8ui0bt" path="res://Scripts/interact_button.gd" id="4_eavi1"] -[ext_resource type="PackedScene" uid="uid://b6i5w3mowcfcs" path="res://drafting_table.glb" id="4_kpujb"] +[ext_resource type="PackedScene" uid="uid://b6i5w3mowcfcs" path="res://Scenes/DraftingTable/drafting_table.glb" id="4_kpujb"] [ext_resource type="AudioStream" uid="uid://dknygn5eyuhxt" path="res://Audio/shot1.wav" id="5_m033a"] [sub_resource type="BoxShape3D" id="BoxShape3D_0ebt5"] diff --git a/drafting_table.glb b/Scenes/DraftingTable/drafting_table.glb similarity index 100% rename from drafting_table.glb rename to Scenes/DraftingTable/drafting_table.glb diff --git a/drafting_table.glb.import b/Scenes/DraftingTable/drafting_table.glb.import similarity index 74% rename from drafting_table.glb.import rename to Scenes/DraftingTable/drafting_table.glb.import index 11539d9..0f98e03 100644 --- a/drafting_table.glb.import +++ b/Scenes/DraftingTable/drafting_table.glb.import @@ -4,12 +4,12 @@ importer="scene" importer_version=1 type="PackedScene" uid="uid://b6i5w3mowcfcs" -path="res://.godot/imported/drafting_table.glb-6807c68da9d7f556812db63743d38b57.scn" +path="res://.godot/imported/drafting_table.glb-9a5f41e6bf4edcc8c042380f52a70575.scn" [deps] -source_file="res://drafting_table.glb" -dest_files=["res://.godot/imported/drafting_table.glb-6807c68da9d7f556812db63743d38b57.scn"] +source_file="res://Scenes/DraftingTable/drafting_table.glb" +dest_files=["res://.godot/imported/drafting_table.glb-9a5f41e6bf4edcc8c042380f52a70575.scn"] [params] diff --git a/drafting_table_plan_tex.png b/Scenes/DraftingTable/drafting_table_plan_tex.png similarity index 100% rename from drafting_table_plan_tex.png rename to Scenes/DraftingTable/drafting_table_plan_tex.png diff --git a/drafting_table_plan_tex.png.import b/Scenes/DraftingTable/drafting_table_plan_tex.png.import similarity index 69% rename from drafting_table_plan_tex.png.import rename to Scenes/DraftingTable/drafting_table_plan_tex.png.import index 32eb467..e978f7d 100644 --- a/drafting_table_plan_tex.png.import +++ b/Scenes/DraftingTable/drafting_table_plan_tex.png.import @@ -3,7 +3,7 @@ importer="texture" type="CompressedTexture2D" uid="uid://cx3u2fj5cniac" -path.s3tc="res://.godot/imported/drafting_table_plan_tex.png-1699462a730246cc6031e19c5449ed7d.s3tc.ctex" +path.s3tc="res://.godot/imported/drafting_table_plan_tex.png-7b1786af0562d78c6bd0327df564d184.s3tc.ctex" metadata={ "imported_formats": ["s3tc_bptc"], "vram_texture": true @@ -14,8 +14,8 @@ generator_parameters={ [deps] -source_file="res://drafting_table_plan_tex.png" -dest_files=["res://.godot/imported/drafting_table_plan_tex.png-1699462a730246cc6031e19c5449ed7d.s3tc.ctex"] +source_file="res://Scenes/DraftingTable/drafting_table_plan_tex.png" +dest_files=["res://.godot/imported/drafting_table_plan_tex.png-7b1786af0562d78c6bd0327df564d184.s3tc.ctex"] [params] diff --git a/cube.glb b/Scenes/FlowField/cube.glb similarity index 100% rename from cube.glb rename to Scenes/FlowField/cube.glb diff --git a/cube.glb.import b/Scenes/FlowField/cube.glb.import similarity index 74% rename from cube.glb.import rename to Scenes/FlowField/cube.glb.import index 4937882..1bc1734 100644 --- a/cube.glb.import +++ b/Scenes/FlowField/cube.glb.import @@ -3,13 +3,13 @@ importer="scene" importer_version=1 type="PackedScene" -uid="uid://bvoygakisxw4i" -path="res://.godot/imported/cube.glb-ec927bc01951d93b2130ba52799eca7c.scn" +uid="uid://bkokjrjns7l6j" +path="res://.godot/imported/cube.glb-8c7fddad925be67dc400ce95d4de5b99.scn" [deps] -source_file="res://cube.glb" -dest_files=["res://.godot/imported/cube.glb-ec927bc01951d93b2130ba52799eca7c.scn"] +source_file="res://Scenes/FlowField/cube.glb" +dest_files=["res://.godot/imported/cube.glb-8c7fddad925be67dc400ce95d4de5b99.scn"] [params] diff --git a/cube2.tscn b/Scenes/FlowField/cube2.tscn similarity index 73% rename from cube2.tscn rename to Scenes/FlowField/cube2.tscn index fc032c7..3f412a7 100644 --- a/cube2.tscn +++ b/Scenes/FlowField/cube2.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=3 uid="uid://ravcalfsha76"] -[ext_resource type="PackedScene" uid="uid://bvoygakisxw4i" path="res://cube.glb" id="1_7p7qy"] +[ext_resource type="PackedScene" uid="uid://bkokjrjns7l6j" path="res://Scenes/FlowField/cube.glb" id="1_7p7qy"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_d8upr"] resource_local_to_scene = true diff --git a/flow_field.gd b/Scenes/FlowField/flow_field.gd similarity index 98% rename from flow_field.gd rename to Scenes/FlowField/flow_field.gd index b1c19e9..12fb385 100644 --- a/flow_field.gd +++ b/Scenes/FlowField/flow_field.gd @@ -1,4 +1,5 @@ -class_name FlowField extends Node3D +class_name FlowField +extends Node3D signal path_updated() @@ -15,6 +16,7 @@ func _ready() -> void: node.visible = false +@warning_ignore("unused_parameter") func _process(delta: float) -> void: if !nodes_visible: return diff --git a/flow_field.gd.uid b/Scenes/FlowField/flow_field.gd.uid similarity index 100% rename from flow_field.gd.uid rename to Scenes/FlowField/flow_field.gd.uid diff --git a/flow_field.tscn b/Scenes/FlowField/flow_field.tscn similarity index 75% rename from flow_field.tscn rename to Scenes/FlowField/flow_field.tscn index 53ac2eb..7d67f2d 100644 --- a/flow_field.tscn +++ b/Scenes/FlowField/flow_field.tscn @@ -1,8 +1,8 @@ [gd_scene load_steps=4 format=3 uid="uid://b7dwsqfmdqr8"] -[ext_resource type="Script" uid="uid://r4nmfr8jfcjx" path="res://flow_field.gd" id="1_l46ob"] -[ext_resource type="PackedScene" uid="uid://bssfvyxv5uo1f" path="res://flow_node.tscn" id="2_d6vkn"] -[ext_resource type="PackedScene" uid="uid://cccowrgelgswj" path="res://flow_field_tool.tscn" id="3_apokv"] +[ext_resource type="Script" uid="uid://r4nmfr8jfcjx" path="res://Scenes/FlowField/flow_field.gd" id="1_l46ob"] +[ext_resource type="PackedScene" uid="uid://bssfvyxv5uo1f" path="res://Scenes/FlowField/flow_node.tscn" id="2_d6vkn"] +[ext_resource type="PackedScene" uid="uid://cccowrgelgswj" path="res://Scenes/FlowField/flow_field_tool.tscn" id="3_apokv"] [node name="FlowField" type="Node3D"] script = ExtResource("1_l46ob") diff --git a/flow_field_tool.tscn b/Scenes/FlowField/flow_field_tool.tscn similarity index 100% rename from flow_field_tool.tscn rename to Scenes/FlowField/flow_field_tool.tscn diff --git a/flow_field_tool_output.tscn b/Scenes/FlowField/flow_field_tool_output.tscn similarity index 99% rename from flow_field_tool_output.tscn rename to Scenes/FlowField/flow_field_tool_output.tscn index 48ea989..f129d01 100644 --- a/flow_field_tool_output.tscn +++ b/Scenes/FlowField/flow_field_tool_output.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=3 format=3 uid="uid://2vv6mrxiwibf"] -[ext_resource type="Script" uid="uid://r4nmfr8jfcjx" path="res://flow_field.gd" id="1_ca7vt"] -[ext_resource type="PackedScene" uid="uid://bssfvyxv5uo1f" path="res://flow_node.tscn" id="2_s6hwk"] +[ext_resource type="Script" uid="uid://r4nmfr8jfcjx" path="res://Scenes/FlowField/flow_field.gd" id="1_ca7vt"] +[ext_resource type="PackedScene" uid="uid://bssfvyxv5uo1f" path="res://Scenes/FlowField/flow_node.tscn" id="2_s6hwk"] [node name="FlowField" type="Node3D" node_paths=PackedStringArray("nodes", "goals")] script = ExtResource("1_ca7vt") diff --git a/flow_node.glb b/Scenes/FlowField/flow_node.glb similarity index 100% rename from flow_node.glb rename to Scenes/FlowField/flow_node.glb diff --git a/flow_node.glb.import b/Scenes/FlowField/flow_node.glb.import similarity index 76% rename from flow_node.glb.import rename to Scenes/FlowField/flow_node.glb.import index 131884a..7bd2cd8 100644 --- a/flow_node.glb.import +++ b/Scenes/FlowField/flow_node.glb.import @@ -4,12 +4,12 @@ importer="scene" importer_version=1 type="PackedScene" uid="uid://bs4en6twugqjl" -path="res://.godot/imported/flow_node.glb-590e85013ddaf9dde846990416b040e0.scn" +path="res://.godot/imported/flow_node.glb-6ba2ba2afb1294cefafdb385a7532688.scn" [deps] -source_file="res://flow_node.glb" -dest_files=["res://.godot/imported/flow_node.glb-590e85013ddaf9dde846990416b040e0.scn"] +source_file="res://Scenes/FlowField/flow_node.glb" +dest_files=["res://.godot/imported/flow_node.glb-6ba2ba2afb1294cefafdb385a7532688.scn"] [params] diff --git a/flow_node.tscn b/Scenes/FlowField/flow_node.tscn similarity index 92% rename from flow_node.tscn rename to Scenes/FlowField/flow_node.tscn index f183995..e55e3d2 100644 --- a/flow_node.tscn +++ b/Scenes/FlowField/flow_node.tscn @@ -1,7 +1,7 @@ [gd_scene load_steps=4 format=3 uid="uid://bssfvyxv5uo1f"] [ext_resource type="Script" uid="uid://c86ygtor5tksd" path="res://Scripts/flow_node.gd" id="1_ng65h"] -[ext_resource type="PackedScene" uid="uid://h7el2c2awv6" path="res://flow_node2.tscn" id="2_bmgs5"] +[ext_resource type="PackedScene" uid="uid://h7el2c2awv6" path="res://Scenes/FlowField/flow_node2.tscn" id="2_bmgs5"] [sub_resource type="SphereShape3D" id="SphereShape3D_bmgs5"] radius = 0.4 diff --git a/flow_node2.tscn b/Scenes/FlowField/flow_node2.tscn similarity index 87% rename from flow_node2.tscn rename to Scenes/FlowField/flow_node2.tscn index 14de8b5..b8e3158 100644 --- a/flow_node2.tscn +++ b/Scenes/FlowField/flow_node2.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=3 format=3 uid="uid://h7el2c2awv6"] -[ext_resource type="PackedScene" uid="uid://bs4en6twugqjl" path="res://flow_node.glb" id="1_tnepb"] +[ext_resource type="PackedScene" uid="uid://bs4en6twugqjl" path="res://Scenes/FlowField/flow_node.glb" id="1_tnepb"] [sub_resource type="StandardMaterial3D" id="StandardMaterial3D_16gtg"] resource_local_to_scene = true diff --git a/ladder.gd b/Scenes/Ladder/ladder.gd similarity index 85% rename from ladder.gd rename to Scenes/Ladder/ladder.gd index 1133667..31937b0 100644 --- a/ladder.gd +++ b/Scenes/Ladder/ladder.gd @@ -1,4 +1,5 @@ -class_name Ladder extends Area3D +class_name Ladder +extends Area3D func _on_body_entered(body: Node3D) -> void: diff --git a/ladder.gd.uid b/Scenes/Ladder/ladder.gd.uid similarity index 100% rename from ladder.gd.uid rename to Scenes/Ladder/ladder.gd.uid diff --git a/ladder.tscn b/Scenes/Ladder/ladder.tscn similarity index 90% rename from ladder.tscn rename to Scenes/Ladder/ladder.tscn index 2699ce5..9f0064d 100644 --- a/ladder.tscn +++ b/Scenes/Ladder/ladder.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=2 format=3 uid="uid://cx8f6tsipvmls"] -[ext_resource type="Script" uid="uid://7pd2edvb845w" path="res://ladder.gd" id="1_cq4ai"] +[ext_resource type="Script" uid="uid://7pd2edvb845w" path="res://Scenes/Ladder/ladder.gd" id="1_cq4ai"] [node name="Ladder" type="Area3D"] collision_mask = 2 diff --git a/Scenes/Menus/MainMenu/main_menu.tscn b/Scenes/Menus/MainMenu/main_menu.tscn index 34b01e9..c2321fb 100644 --- a/Scenes/Menus/MainMenu/main_menu.tscn +++ b/Scenes/Menus/MainMenu/main_menu.tscn @@ -2,7 +2,7 @@ [ext_resource type="Theme" uid="uid://b6a0ip4p72tgx" path="res://UI/new_theme.tres" id="1_p1cib"] [ext_resource type="Script" uid="uid://ci8vq73u23viy" path="res://Scenes/Menus/MainMenu/main_menu.gd" id="2_ivytu"] -[ext_resource type="PackedScene" uid="uid://y1qa1g3ic8sp" path="res://Worlds/GreenPlanet/Levels/first_level.tscn" id="3_l8r4a"] +[ext_resource type="PackedScene" uid="uid://y1qa1g3ic8sp" path="res://Worlds/GreenPlanet/Levels/Bridge/bridge.tscn" id="3_l8r4a"] [ext_resource type="AudioStream" uid="uid://cp6ph4ra7u5rk" path="res://Scenes/UI/drop_003.ogg" id="5_cwn2i"] [ext_resource type="Script" uid="uid://cbwxa2a4hfcy4" path="res://Scripts/Resources/enemy.gd" id="5_u514r"] [ext_resource type="Texture2D" uid="uid://cdnhe2mi5c5ln" path="res://Assets/Textures/dead_eye_dog.png" id="6_rsxwm"] @@ -17,7 +17,7 @@ [ext_resource type="Script" uid="uid://cjr0pbqisd51v" path="res://Scenes/Menus/MainMenu/achievements_menu.gd" id="15_sv1gy"] [ext_resource type="Texture2D" uid="uid://cpa1hl36xfplg" path="res://Assets/Textures/first_scroll_seen.png" id="16_sv1gy"] [ext_resource type="Texture2D" uid="uid://ctbi3gm1me1t5" path="res://Assets/Textures/unlock_mage_achievement.png" id="17_6t4jd"] -[ext_resource type="Script" uid="uid://cxrm2naq75jo1" path="res://mod_menu.gd" id="19_6t4jd"] +[ext_resource type="Script" uid="uid://cxrm2naq75jo1" path="res://Scripts/mod_menu.gd" id="19_6t4jd"] [ext_resource type="FontFile" uid="uid://c3hwdjscf2hnk" path="res://Assets/Fonts/OpenType (.otf)/Kaph-Regular.otf" id="20_y5bw6"] [sub_resource type="ViewportTexture" id="ViewportTexture_5u75i"] diff --git a/Scenes/TowerBase/textmesh.res b/Scenes/TowerBase/textmesh.res index 97c13ee7991ee48c5488bf12acb4ce4b6a320fcb..88b71d68111b45b7d584a9b4dcb4c67ddfb77b0a 100644 GIT binary patch literal 12435 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 diff --git a/Scenes/TowerBase/tower_base.tscn b/Scenes/TowerBase/tower_base.tscn index a4ca54b..29c34e1 100644 --- a/Scenes/TowerBase/tower_base.tscn +++ b/Scenes/TowerBase/tower_base.tscn @@ -3,7 +3,7 @@ [ext_resource type="Script" uid="uid://si58bm4r7r2i" path="res://Scenes/TowerBase/tower_base.gd" id="1_kalmg"] [ext_resource type="Script" uid="uid://do24iuot0j7d7" path="res://Scripts/inventory.gd" id="2_m0oxx"] [ext_resource type="Material" uid="uid://bi0grduhgdma4" path="res://Scenes/TowerBase/new_shader_material.tres" id="3_ueedj"] -[ext_resource type="ArrayMesh" uid="uid://cm5xjp442ew0y" path="res://textmesh.res" id="4_8j8ue"] +[ext_resource type="ArrayMesh" uid="uid://cr83c74ys8rll" path="res://Scenes/TowerBase/textmesh.res" id="4_8j8ue"] [ext_resource type="Texture2D" uid="uid://ba85u6i558x4w" path="res://Assets/Textures/minimap_node.png" id="4_lbvtm"] [sub_resource type="BoxShape3D" id="BoxShape3D_lc72v"] diff --git a/Scenes/enemy_spawner.tscn b/Scenes/enemy_spawner.tscn index a234ca1..622e6f1 100644 --- a/Scenes/enemy_spawner.tscn +++ b/Scenes/enemy_spawner.tscn @@ -1,20 +1,14 @@ -[gd_scene load_steps=5 format=3 uid="uid://d2yv447trxkwt"] +[gd_scene load_steps=4 format=3 uid="uid://d2yv447trxkwt"] [ext_resource type="Script" uid="uid://dkuxg6ek5us4f" path="res://Scripts/enemy_spawner.gd" id="1_23wuv"] [ext_resource type="PackedScene" uid="uid://b0nady5xm88bo" path="res://Worlds/GreenPlanet/Enemies/land_enemy.tscn" id="2_muaoj"] [ext_resource type="PackedScene" uid="uid://bjo2q6vca5qlv" path="res://Worlds/GreenPlanet/Enemies/air_enemy.tscn" id="3_nh55v"] -[ext_resource type="Script" uid="uid://cd500cyj1tdyw" path="res://Scripts/visualized_path.gd" id="4_tdwud"] -[node name="Node3D" type="Node3D" node_paths=PackedStringArray("path")] +[node name="Node3D" type="Node3D"] script = ExtResource("1_23wuv") land_enemy_scene = ExtResource("2_muaoj") air_enemy_scene = ExtResource("3_nh55v") -path = NodePath("VisualizedPath") [node name="CSGBox3D" type="CSGBox3D" parent="."] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0) visible = false - -[node name="VisualizedPath" type="Path3D" parent="."] -script = ExtResource("4_tdwud") -metadata/_custom_type_script = "uid://cd500cyj1tdyw" diff --git a/Scenes/path_visual_thing.tscn b/Scenes/path_visual_thing.tscn deleted file mode 100644 index 4cf0d71..0000000 --- a/Scenes/path_visual_thing.tscn +++ /dev/null @@ -1,24 +0,0 @@ -[gd_scene load_steps=4 format=3 uid="uid://clbw3osqy2ww2"] - -[ext_resource type="Script" uid="uid://cr3sfjjo6l6n2" path="res://Scripts/path_visual_thing.gd" id="1_pgun7"] -[ext_resource type="Texture2D" uid="uid://cy786nrpcdr5o" path="res://Assets/Textures/minimap_path_visual.png" id="2_0gsds"] - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_lutld"] -albedo_color = Color(0.0509804, 0.337255, 0.709804, 1) - -[node name="PathFollow3D" type="PathFollow3D" node_paths=PackedStringArray("world_model", "minimap_model")] -use_model_front = true -script = ExtResource("1_pgun7") -world_model = NodePath("CSGSphere3D") -minimap_model = NodePath("Sprite3D") - -[node name="CSGSphere3D" type="CSGSphere3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.401382, 0) -radius = 0.05 -material = SubResource("StandardMaterial3D_lutld") - -[node name="Sprite3D" type="Sprite3D" parent="."] -transform = Transform3D(1, 0, 0, 0, -4.37114e-08, 1, 0, -1, -4.37114e-08, 0, 0.620933, 0) -layers = 4 -texture_filter = 0 -texture = ExtResource("2_0gsds") diff --git a/Scenes/visual_path.tscn b/Scenes/visual_path.tscn deleted file mode 100644 index ead9b72..0000000 --- a/Scenes/visual_path.tscn +++ /dev/null @@ -1,14 +0,0 @@ -[gd_scene load_steps=3 format=3 uid="uid://dtfw0tefhb6qq"] - -[ext_resource type="Script" uid="uid://cd500cyj1tdyw" path="res://Scripts/visualized_path.gd" id="1_34oex"] - -[sub_resource type="Curve3D" id="Curve3D_tcut2"] -_data = { -"points": PackedVector3Array(0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, -0.894202, 0.687927, -2.77275, 0, 0, -2), -"tilts": PackedFloat32Array(0, 0) -} -point_count = 2 - -[node name="Node3D" type="Path3D"] -curve = SubResource("Curve3D_tcut2") -script = ExtResource("1_34oex") diff --git a/Scripts/Affectors/affector.gd b/Scripts/Affectors/affector.gd index fe59263..de3187b 100644 --- a/Scripts/Affectors/affector.gd +++ b/Scripts/Affectors/affector.gd @@ -1,8 +1,10 @@ -class_name Affector extends Node +class_name Affector +extends Node var damage_particle_scene: PackedScene = preload("res://Scenes/damage_particle.tscn") +@warning_ignore("unused_parameter") func apply_effect(effect: Effect, targets: Array[EnemyController]) -> void: pass diff --git a/Scripts/Affectors/area_affector.gd b/Scripts/Affectors/area_affector.gd index 60032b6..8c85bd6 100644 --- a/Scripts/Affectors/area_affector.gd +++ b/Scripts/Affectors/area_affector.gd @@ -1,4 +1,5 @@ -class_name AreaAffector extends Affector +class_name AreaAffector +extends Affector @export var shapecast: ShapeCast3D diff --git a/Scripts/Affectors/direct_affect.gd b/Scripts/Affectors/direct_affect.gd index 85fb7bb..9903dd4 100644 --- a/Scripts/Affectors/direct_affect.gd +++ b/Scripts/Affectors/direct_affect.gd @@ -1,4 +1,5 @@ -class_name DirectAffect extends Affector +class_name DirectAffect +extends Affector func apply_effect(effect: Effect, targets: Array[EnemyController]) -> void: diff --git a/Scripts/Affectors/spawn_affect.gd b/Scripts/Affectors/spawn_affect.gd index e176431..a5a9f09 100644 --- a/Scripts/Affectors/spawn_affect.gd +++ b/Scripts/Affectors/spawn_affect.gd @@ -1,4 +1,5 @@ -class_name SpawnAffect extends Affector +class_name SpawnAffect +extends Affector @export var spawn_scene: PackedScene @export var tower: Tower diff --git a/Scripts/EnemyAI/beelining_controller.gd b/Scripts/EnemyAI/beelining_controller.gd index 7ac5411..1536b99 100644 --- a/Scripts/EnemyAI/beelining_controller.gd +++ b/Scripts/EnemyAI/beelining_controller.gd @@ -1,4 +1,5 @@ -class_name BeeliningController extends EnemyMovement +class_name BeeliningController +extends EnemyMovement var goal: Node3D var direction: Vector3 diff --git a/Scripts/EnemyAI/enemy_movement.gd b/Scripts/EnemyAI/enemy_movement.gd index 3bcbff4..a366c70 100644 --- a/Scripts/EnemyAI/enemy_movement.gd +++ b/Scripts/EnemyAI/enemy_movement.gd @@ -1,4 +1,5 @@ -class_name EnemyMovement extends Node +class_name EnemyMovement +extends Node @export var character: EnemyController diff --git a/Scripts/EnemyAI/leaping_controller.gd b/Scripts/EnemyAI/leaping_controller.gd index adf700c..86a7efd 100644 --- a/Scripts/EnemyAI/leaping_controller.gd +++ b/Scripts/EnemyAI/leaping_controller.gd @@ -1,4 +1,5 @@ -class_name LeapingController extends PathingController +class_name LeapingController +extends PathingController @export var eastl: Label @export var westl: Label diff --git a/Scripts/EnemyAI/pathing_controller.gd b/Scripts/EnemyAI/pathing_controller.gd index 4c28ebd..dd8607c 100644 --- a/Scripts/EnemyAI/pathing_controller.gd +++ b/Scripts/EnemyAI/pathing_controller.gd @@ -1,4 +1,5 @@ -class_name PathingController extends EnemyMovement +class_name PathingController +extends EnemyMovement #var path: Curve3D #var path_progress: float = 0.0 diff --git a/Scripts/Projectiles/explosive_projectile.gd b/Scripts/Projectiles/explosive_projectile.gd index bb509cb..257fba9 100644 --- a/Scripts/Projectiles/explosive_projectile.gd +++ b/Scripts/Projectiles/explosive_projectile.gd @@ -1,4 +1,5 @@ -class_name ExplosiveProjectile extends Projectile +class_name ExplosiveProjectile +extends Projectile @export var explosion_range: float = 3.0 diff --git a/Scripts/Projectiles/homing_projectile.gd b/Scripts/Projectiles/homing_projectile.gd index ba4d902..5533689 100644 --- a/Scripts/Projectiles/homing_projectile.gd +++ b/Scripts/Projectiles/homing_projectile.gd @@ -1,4 +1,5 @@ -class_name HomingProjectile extends ExplosiveProjectile +class_name HomingProjectile +extends ExplosiveProjectile var target: Node3D var acceleration: float = 50.0 diff --git a/Scripts/Projectiles/projectile.gd b/Scripts/Projectiles/projectile.gd index 59e8838..7e98d08 100644 --- a/Scripts/Projectiles/projectile.gd +++ b/Scripts/Projectiles/projectile.gd @@ -1,4 +1,5 @@ -class_name Projectile extends RigidBody3D +class_name Projectile +extends RigidBody3D @export var collision_shape: CollisionShape3D diff --git a/Scripts/Projectiles/status_applying_projectile.gd b/Scripts/Projectiles/status_applying_projectile.gd index 1485086..b705ea0 100644 --- a/Scripts/Projectiles/status_applying_projectile.gd +++ b/Scripts/Projectiles/status_applying_projectile.gd @@ -1,4 +1,5 @@ -class_name StatusApplyingProjectile extends ExplosiveProjectile +class_name StatusApplyingProjectile +extends ExplosiveProjectile @export var status_stats: StatusStats diff --git a/Scripts/Resources/card.gd b/Scripts/Resources/card.gd index bdaa975..38dba25 100644 --- a/Scripts/Resources/card.gd +++ b/Scripts/Resources/card.gd @@ -1,4 +1,5 @@ -class_name Card extends Item +class_name Card +extends Item enum Faction { GENERIC = 0, diff --git a/Scripts/Resources/card_text.gd b/Scripts/Resources/card_text.gd index b9b6d3d..2dfd063 100644 --- a/Scripts/Resources/card_text.gd +++ b/Scripts/Resources/card_text.gd @@ -1,4 +1,5 @@ -class_name CardText extends Resource +class_name CardText +extends Resource @export var target_type: Data.TargetType @export var energy_type: Data.EnergyType diff --git a/Scripts/Resources/enemy.gd b/Scripts/Resources/enemy.gd index 3833376..af787f1 100644 --- a/Scripts/Resources/enemy.gd +++ b/Scripts/Resources/enemy.gd @@ -1,4 +1,5 @@ -class_name Enemy extends Resource +class_name Enemy +extends Resource @export var title: String = "dog" @export var target_type: Data.EnemyType diff --git a/Scripts/Resources/hero_class.gd b/Scripts/Resources/hero_class.gd index 29cbaf4..9810bed 100644 --- a/Scripts/Resources/hero_class.gd +++ b/Scripts/Resources/hero_class.gd @@ -1,4 +1,5 @@ -class_name HeroClass extends Resource +class_name HeroClass +extends Resource @export var hero_name: String = "Default" @export var texture: Texture diff --git a/Scripts/Resources/item.gd b/Scripts/Resources/item.gd index c10a30b..8b2fb7c 100644 --- a/Scripts/Resources/item.gd +++ b/Scripts/Resources/item.gd @@ -1,4 +1,5 @@ -class_name Item extends Resource +class_name Item +extends Resource @export var display_name: String @export var icon: Texture diff --git a/Scripts/Resources/player_audio_settings.gd b/Scripts/Resources/player_audio_settings.gd index fb9324c..6183485 100644 --- a/Scripts/Resources/player_audio_settings.gd +++ b/Scripts/Resources/player_audio_settings.gd @@ -1,4 +1,5 @@ -class_name PlayerAudioSettings extends Resource +class_name PlayerAudioSettings +extends Resource const SAVE_PATH: String = "user://audio_settings.tres" @@ -19,4 +20,3 @@ static func load_profile_from_disk() -> PlayerAudioSettings: if ResourceLoader.exists(SAVE_PATH): return ResourceLoader.load(SAVE_PATH) return PlayerAudioSettings.new() - diff --git a/Scripts/Resources/player_graphics_settings.gd b/Scripts/Resources/player_graphics_settings.gd index 7a37035..fce0e6f 100644 --- a/Scripts/Resources/player_graphics_settings.gd +++ b/Scripts/Resources/player_graphics_settings.gd @@ -1,4 +1,5 @@ -class_name PlayerGraphicsSettings extends Resource +class_name PlayerGraphicsSettings +extends Resource const SAVE_PATH: String = "user://graphics_settings.tres" diff --git a/Scripts/Resources/player_preferences.gd b/Scripts/Resources/player_preferences.gd index 78c9d0e..e63fdff 100644 --- a/Scripts/Resources/player_preferences.gd +++ b/Scripts/Resources/player_preferences.gd @@ -1,4 +1,5 @@ -class_name PlayerPreferences extends Resource +class_name PlayerPreferences +extends Resource const SAVE_PATH: String = "user://preferences.tres" diff --git a/Scripts/Resources/player_profile.gd b/Scripts/Resources/player_profile.gd index ee75249..d888b08 100644 --- a/Scripts/Resources/player_profile.gd +++ b/Scripts/Resources/player_profile.gd @@ -1,4 +1,5 @@ -class_name PlayerProfile extends Resource +class_name PlayerProfile +extends Resource signal display_name_changed(old_name: String, new_name: String) signal preferred_class_changed(old_class: int, new_class: int) diff --git a/Scripts/Resources/save_data.gd b/Scripts/Resources/save_data.gd index fc8e311..25a1919 100644 --- a/Scripts/Resources/save_data.gd +++ b/Scripts/Resources/save_data.gd @@ -1,4 +1,5 @@ -class_name SaveData extends RefCounted +class_name SaveData +extends RefCounted var save_slot: int = 0 diff --git a/Scripts/Resources/stat_attribute.gd b/Scripts/Resources/stat_attribute.gd index d5e9424..f541c36 100644 --- a/Scripts/Resources/stat_attribute.gd +++ b/Scripts/Resources/stat_attribute.gd @@ -1,4 +1,5 @@ -class_name StatAttribute extends Resource +class_name StatAttribute +extends Resource @export var key: String @export var value: float diff --git a/Scripts/Resources/status_stats.gd b/Scripts/Resources/status_stats.gd index eddab5a..fceddca 100644 --- a/Scripts/Resources/status_stats.gd +++ b/Scripts/Resources/status_stats.gd @@ -1,4 +1,5 @@ -class_name StatusStats extends Resource +class_name StatusStats +extends Resource @export var name: String @export var max_stacks: int = 0 diff --git a/Scripts/StatusEffects/status_dot.gd b/Scripts/StatusEffects/status_dot.gd index 41a1408..2f01814 100644 --- a/Scripts/StatusEffects/status_dot.gd +++ b/Scripts/StatusEffects/status_dot.gd @@ -1,4 +1,5 @@ -class_name StatusDoT extends StatusEffect +class_name StatusDoT +extends StatusEffect func proc(affected: EnemyController, stacks: int, _existing_effects: Dictionary) -> void: diff --git a/Scripts/StatusEffects/status_effect.gd b/Scripts/StatusEffects/status_effect.gd index 0e805eb..77b295e 100644 --- a/Scripts/StatusEffects/status_effect.gd +++ b/Scripts/StatusEffects/status_effect.gd @@ -1,4 +1,5 @@ -class_name StatusEffect extends Resource +class_name StatusEffect +extends Resource @export var stats: StatusStats diff --git a/Scripts/StatusEffects/status_slow.gd b/Scripts/StatusEffects/status_slow.gd index a07a0e0..72ce91a 100644 --- a/Scripts/StatusEffects/status_slow.gd +++ b/Scripts/StatusEffects/status_slow.gd @@ -1,4 +1,5 @@ -class_name StatusSlow extends StatusEffect +class_name StatusSlow +extends StatusEffect func on_attached(affected: EnemyController, _existing_effects: Dictionary) -> void: diff --git a/Scripts/Weapons/hitscan_weapon.gd b/Scripts/Weapons/hitscan_weapon.gd index 0717020..cea9bfa 100644 --- a/Scripts/Weapons/hitscan_weapon.gd +++ b/Scripts/Weapons/hitscan_weapon.gd @@ -1,4 +1,5 @@ -class_name HitscanWeapon extends Weapon +class_name HitscanWeapon +extends Weapon @export var raycast: RayCast3D @export var range_debug_indicator: CSGSphere3D diff --git a/Scripts/Weapons/projectile_weapon.gd b/Scripts/Weapons/projectile_weapon.gd index 8b9e7cd..8698732 100644 --- a/Scripts/Weapons/projectile_weapon.gd +++ b/Scripts/Weapons/projectile_weapon.gd @@ -1,4 +1,5 @@ -class_name ProjectileWeapon extends Weapon +class_name ProjectileWeapon +extends Weapon @export var projectile_scene: PackedScene diff --git a/Scripts/Weapons/shapecast_weapon.gd b/Scripts/Weapons/shapecast_weapon.gd index 1c1c700..e9cfe03 100644 --- a/Scripts/Weapons/shapecast_weapon.gd +++ b/Scripts/Weapons/shapecast_weapon.gd @@ -1,4 +1,5 @@ -class_name ShapecastWeapon extends Weapon +class_name ShapecastWeapon +extends Weapon @export var shapecast: ShapeCast3D @export var range_debug_indicator: CSGSphere3D diff --git a/Scripts/Weapons/status_applying_weapon.gd b/Scripts/Weapons/status_applying_weapon.gd index 046d0e0..3180fdd 100644 --- a/Scripts/Weapons/status_applying_weapon.gd +++ b/Scripts/Weapons/status_applying_weapon.gd @@ -1,4 +1,5 @@ -class_name StatusApplyingWeapon extends HitscanWeapon +class_name StatusApplyingWeapon +extends HitscanWeapon @export var status_stats: StatusStats diff --git a/Scripts/Weapons/weapon.gd b/Scripts/Weapons/weapon.gd index 28d6a53..85cd71c 100644 --- a/Scripts/Weapons/weapon.gd +++ b/Scripts/Weapons/weapon.gd @@ -1,4 +1,5 @@ -class_name Weapon extends Node3D +class_name Weapon +extends Node3D signal energy_spent(energy: int, type: Data.EnergyType) signal energy_recharged(energy: int, type: Data.EnergyType) @@ -54,6 +55,7 @@ func _process(delta: float) -> void: energy_spent.emit(delta, stats.energy_type) +@warning_ignore("unused_parameter") func _physics_process(delta: float) -> void: if trigger_held and current_energy >= energy_cost and time_since_firing >= time_between_shots: if stats.energy_type == Data.EnergyType.DISCRETE: diff --git a/Scripts/alert_popup.gd b/Scripts/alert_popup.gd index 22e07ab..9404ec3 100644 --- a/Scripts/alert_popup.gd +++ b/Scripts/alert_popup.gd @@ -1,4 +1,5 @@ -class_name AlertPopup extends PanelContainer +class_name AlertPopup +extends PanelContainer signal completed() diff --git a/Scripts/audio_options.gd b/Scripts/audio_options.gd index 4e85408..2ae0882 100644 --- a/Scripts/audio_options.gd +++ b/Scripts/audio_options.gd @@ -1,4 +1,5 @@ -class_name AudioOptions extends VBoxContainer +class_name AudioOptions +extends VBoxContainer @export var master_input: SpinBox @export var master_slider: HSlider diff --git a/Scripts/bind_button.gd b/Scripts/bind_button.gd index cbf28b1..fb68c59 100644 --- a/Scripts/bind_button.gd +++ b/Scripts/bind_button.gd @@ -1,3 +1,4 @@ -class_name BindButton extends Button +class_name BindButton +extends Button var trigger_event: InputEvent diff --git a/gif_animation.gd b/Scripts/boot_logo.gd similarity index 94% rename from gif_animation.gd rename to Scripts/boot_logo.gd index 2085942..e241e7a 100644 --- a/gif_animation.gd +++ b/Scripts/boot_logo.gd @@ -1,4 +1,5 @@ -class_name BootLogo extends TextureRect +class_name BootLogo +extends TextureRect signal animation_finished() diff --git a/gif_animation.gd.uid b/Scripts/boot_logo.gd.uid similarity index 100% rename from gif_animation.gd.uid rename to Scripts/boot_logo.gd.uid diff --git a/Scripts/card_hand.gd b/Scripts/card_hand.gd index 90332ed..0738123 100644 --- a/Scripts/card_hand.gd +++ b/Scripts/card_hand.gd @@ -1,4 +1,5 @@ -class_name CardInHand extends Node2D +class_name CardInHand +extends Node2D var stats: Card @export var rarity_sprite: Sprite2D diff --git a/card_item.gd b/Scripts/card_item.gd similarity index 94% rename from card_item.gd rename to Scripts/card_item.gd index 8717749..1122ada 100644 --- a/card_item.gd +++ b/Scripts/card_item.gd @@ -1,4 +1,5 @@ -class_name CardItem extends InteractButton +class_name CardItem +extends InteractButton signal pressed(card_item: CardItem) diff --git a/card_item.gd.uid b/Scripts/card_item.gd.uid similarity index 100% rename from card_item.gd.uid rename to Scripts/card_item.gd.uid diff --git a/Scripts/chatbox.gd b/Scripts/chatbox.gd index a6081d8..bcce476 100644 --- a/Scripts/chatbox.gd +++ b/Scripts/chatbox.gd @@ -1,4 +1,5 @@ -class_name Chatbox extends Control +class_name Chatbox +extends Control signal opened signal closed diff --git a/Scripts/cinema_cam.gd b/Scripts/cinema_cam.gd index a059de7..3d4b30b 100644 --- a/Scripts/cinema_cam.gd +++ b/Scripts/cinema_cam.gd @@ -1,4 +1,5 @@ -class_name CinematicCamManager extends Node3D +class_name CinematicCamManager +extends Node3D @export var path_follows: Array[PathFollow3D] @export var cameras: Array[Camera3D] diff --git a/Scripts/confirmation_popup.gd b/Scripts/confirmation_popup.gd index 92592ba..539afbf 100644 --- a/Scripts/confirmation_popup.gd +++ b/Scripts/confirmation_popup.gd @@ -1,4 +1,5 @@ -class_name ConfirmationPopup extends PanelContainer +class_name ConfirmationPopup +extends PanelContainer signal completed(outcome: bool) diff --git a/Scripts/corpse.gd b/Scripts/corpse.gd index 7d1e13e..bec212b 100644 --- a/Scripts/corpse.gd +++ b/Scripts/corpse.gd @@ -1,4 +1,5 @@ -class_name Corpse extends RigidBody3D +class_name Corpse +extends RigidBody3D func set_sprite(tex: Texture) -> void: diff --git a/Scripts/damage_particle.gd b/Scripts/damage_particle.gd index eded89f..e4f6d85 100644 --- a/Scripts/damage_particle.gd +++ b/Scripts/damage_particle.gd @@ -1,4 +1,5 @@ -class_name DamageParticle extends Sprite3D +class_name DamageParticle +extends Sprite3D @onready var label: Label = $SubViewport/Label var time_alive: float = 0.0 diff --git a/Scripts/effect.gd b/Scripts/effect.gd index 5db7028..52d9426 100644 --- a/Scripts/effect.gd +++ b/Scripts/effect.gd @@ -1,4 +1,5 @@ -class_name Effect extends Resource +class_name Effect +extends Resource @export var damage: int = 0 diff --git a/Scripts/eight_direction_sprite.gd b/Scripts/eight_direction_sprite.gd index f9e0c68..e106288 100644 --- a/Scripts/eight_direction_sprite.gd +++ b/Scripts/eight_direction_sprite.gd @@ -1,4 +1,5 @@ -class_name EightDirectionSprite3D extends Sprite3D +class_name EightDirectionSprite3D +extends Sprite3D func _process(_delta: float) -> void: diff --git a/Scripts/enemy_card.gd b/Scripts/enemy_card.gd index 90772cd..672c13d 100644 --- a/Scripts/enemy_card.gd +++ b/Scripts/enemy_card.gd @@ -1,4 +1,5 @@ -class_name EnemyCard extends RefCounted +class_name EnemyCard +extends RefCounted var enemy: Enemy = null diff --git a/Scripts/enemy_goal.gd b/Scripts/enemy_goal.gd index c1399d7..049d47c 100644 --- a/Scripts/enemy_goal.gd +++ b/Scripts/enemy_goal.gd @@ -1,4 +1,5 @@ -class_name EnemyGoal extends Node3D +class_name EnemyGoal +extends Node3D @export var audio_player: AudioStreamPlayer3D diff --git a/Scripts/enemy_spawner.gd b/Scripts/enemy_spawner.gd index 60b0bdb..1e2b751 100644 --- a/Scripts/enemy_spawner.gd +++ b/Scripts/enemy_spawner.gd @@ -1,11 +1,11 @@ -class_name EnemySpawner extends Node3D +class_name EnemySpawner +extends Node3D signal enemy_spawned() @export var land_enemy_scene: PackedScene @export var leap_enemy_scene: PackedScene @export var air_enemy_scene: PackedScene -@export var path: VisualizedPath @export var flow_field: FlowField @export var own_id: int = 0 @export var type: Data.EnemyType @@ -21,7 +21,7 @@ var enemies_spawned: Dictionary = {} var enemies_to_spawn: int = 0 var done_spawning: bool = true var enemy_id: int = 0 -var new_path: Path3D +var path: Path3D var path_polygon: PackedScene = preload("res://path_polygon.tscn") var game_manager: GameManager @@ -82,14 +82,14 @@ func networked_spawn_land_enemy(enemy_stats: String, id1: int, id2: int) -> void func create_path() -> void: if type != Data.EnemyType.LAND: return - new_path = Path3D.new() - new_path.curve = Curve3D.new() - add_child(new_path) + path = Path3D.new() + path.curve = Curve3D.new() + add_child(path) var polygon: CSGPolygon3D = path_polygon.instantiate() - new_path.add_child(polygon) + path.add_child(polygon) polygon.mode = CSGPolygon3D.MODE_PATH - polygon.path_node = new_path.get_path() - new_path.global_position = Vector3.ZERO + polygon.path_node = path.get_path() + path.global_position = Vector3.ZERO update_path() @@ -97,13 +97,13 @@ func create_path() -> void: func update_path() -> void: if type != Data.EnemyType.LAND: return - new_path.curve.add_point(global_position + Vector3(0, 0.5, 0)) - new_path.curve = Curve3D.new() + path.curve.add_point(global_position + Vector3(0, 0.5, 0)) + path.curve = Curve3D.new() var node: FlowNode = flow_field.get_closest_traversable_point(global_position) - new_path.curve.add_point(node.global_position + Vector3(0, 0.5, 0)) + path.curve.add_point(node.global_position + Vector3(0, 0.5, 0)) while node.best_path: node = node.best_path - new_path.curve.add_point(node.global_position + Vector3(0, 0.5, 0)) + path.curve.add_point(node.global_position + Vector3(0, 0.5, 0)) diff --git a/Scripts/float_and_spin.gd b/Scripts/float_and_spin.gd index f2f5c9d..29046f0 100644 --- a/Scripts/float_and_spin.gd +++ b/Scripts/float_and_spin.gd @@ -1,4 +1,5 @@ -class_name FloatAndSpin extends RayCast3D +class_name FloatAndSpin +extends RayCast3D @export_range(0.0, 3.0) var float_height: float = 1.5 @export_range(0.0, 2.0) var bounce_dist: float = 0.5 diff --git a/Scripts/flow_field_tool.gd b/Scripts/flow_field_tool.gd index 164c39f..fd0f829 100644 --- a/Scripts/flow_field_tool.gd +++ b/Scripts/flow_field_tool.gd @@ -1,4 +1,5 @@ -class_name FlowFieldTool extends Node +class_name FlowFieldTool +extends Node @export var flow_field: FlowField @export var raycast: RayCast3D diff --git a/Scripts/flow_node.gd b/Scripts/flow_node.gd index 1485fb1..3a8d431 100644 --- a/Scripts/flow_node.gd +++ b/Scripts/flow_node.gd @@ -1,8 +1,9 @@ -class_name FlowNode extends StaticBody3D +class_name FlowNode +extends StaticBody3D @export var connections: Array[FlowNode] @export var visualisers: Array[Node3D] -var visual_scene: PackedScene = preload("res://cube2.tscn") +var visual_scene: PackedScene = preload("res://Scenes/FlowField/cube2.tscn") @export var traversable: bool = true @export var buildable: bool = true var best_path: FlowNode : @@ -24,6 +25,7 @@ func _ready() -> void: set_connector_color(node, Color.WEB_GRAY) +@warning_ignore("unused_parameter") func _process(delta: float) -> void: if visible: for i: int in connections.size(): diff --git a/Scripts/game.gd b/Scripts/game.gd index 2f2b4bd..8e556fb 100644 --- a/Scripts/game.gd +++ b/Scripts/game.gd @@ -13,7 +13,7 @@ signal switch_to_single_player signal switch_to_multi_player signal switch_to_main_menu -var level_scene: PackedScene = load("res://Worlds/GreenPlanet/Levels/first_level.tscn") +var level_scene: PackedScene = load("res://Worlds/GreenPlanet/Levels/Bridge/bridge.tscn") var player_scene: PackedScene = load("res://PCs/hero.tscn") var game_end_scene: PackedScene = load("res://Scenes/Menus/GameEndScreen/game_end_screen.tscn") var connected_players_nodes: Dictionary = {} diff --git a/Scripts/game_mode.gd b/Scripts/game_mode.gd index 16c409d..13114aa 100644 --- a/Scripts/game_mode.gd +++ b/Scripts/game_mode.gd @@ -1,4 +1,5 @@ -class_name GameMode extends RefCounted +class_name GameMode +extends RefCounted var multiplayer: bool = false var seeded: bool = false diff --git a/Scripts/gameplay_options.gd b/Scripts/gameplay_options.gd index c0faaba..998e281 100644 --- a/Scripts/gameplay_options.gd +++ b/Scripts/gameplay_options.gd @@ -1,4 +1,5 @@ -class_name GameplayOptionsMenu extends VBoxContainer +class_name GameplayOptionsMenu +extends VBoxContainer @export var look_sens_slider: HSlider @export var look_sens_input: SpinBox diff --git a/Scripts/graphics_options.gd b/Scripts/graphics_options.gd index 7d33e56..a2de973 100644 --- a/Scripts/graphics_options.gd +++ b/Scripts/graphics_options.gd @@ -1,4 +1,5 @@ -class_name GraphicsOptionsMenu extends VBoxContainer +class_name GraphicsOptionsMenu +extends VBoxContainer @export var fov_input: SpinBox @export var fov_slider: HSlider diff --git a/Scripts/health.gd b/Scripts/health.gd index 5da538c..44f260b 100644 --- a/Scripts/health.gd +++ b/Scripts/health.gd @@ -1,4 +1,5 @@ -class_name Health extends Node +class_name Health +extends Node signal health_depleted signal health_changed(health: int) diff --git a/Scripts/health_bar.gd b/Scripts/health_bar.gd index bace835..e481f2e 100644 --- a/Scripts/health_bar.gd +++ b/Scripts/health_bar.gd @@ -1,4 +1,5 @@ -class_name HealthBar extends TextureProgressBar +class_name HealthBar +extends TextureProgressBar @export var health_bar_gradient: Gradient diff --git a/Scripts/hitbox.gd b/Scripts/hitbox.gd index 357a84e..150c123 100644 --- a/Scripts/hitbox.gd +++ b/Scripts/hitbox.gd @@ -1,4 +1,5 @@ -class_name Hitbox extends CollisionShape3D +class_name Hitbox +extends CollisionShape3D @export var critical_zone: bool = false diff --git a/Scripts/interact_button.gd b/Scripts/interact_button.gd index 59e0d2b..7856d3b 100644 --- a/Scripts/interact_button.gd +++ b/Scripts/interact_button.gd @@ -1,4 +1,5 @@ -class_name InteractButton extends StaticBody3D +class_name InteractButton +extends StaticBody3D signal button_interacted(value: int, callback: Hero) diff --git a/Scripts/inventory.gd b/Scripts/inventory.gd index 9e778fc..e6c4a63 100644 --- a/Scripts/inventory.gd +++ b/Scripts/inventory.gd @@ -1,4 +1,5 @@ -class_name Inventory extends Node +class_name Inventory +extends Node signal item_added(item: Item) signal item_removed(item: Item) diff --git a/Scripts/item_card.gd b/Scripts/item_card.gd index dedc23b..d61257f 100644 --- a/Scripts/item_card.gd +++ b/Scripts/item_card.gd @@ -1,4 +1,5 @@ -class_name ItemCard extends StaticBody3D +class_name ItemCard +extends StaticBody3D @export var card: Card diff --git a/Scripts/item_container.gd b/Scripts/item_container.gd deleted file mode 100644 index 2383aee..0000000 --- a/Scripts/item_container.gd +++ /dev/null @@ -1 +0,0 @@ -class_name ItemContainer extends StaticBody3D diff --git a/Scripts/item_container.gd.uid b/Scripts/item_container.gd.uid deleted file mode 100644 index 050dbaa..0000000 --- a/Scripts/item_container.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://c0pqprebrhakh diff --git a/Scripts/keymap_data.gd b/Scripts/keymap_data.gd index bcf6f0d..d7feede 100644 --- a/Scripts/keymap_data.gd +++ b/Scripts/keymap_data.gd @@ -1,4 +1,5 @@ -class_name KeymapData extends RefCounted +class_name KeymapData +extends RefCounted var title: String = "default" var map: Dictionary[String, Array] diff --git a/Scripts/killbox.gd b/Scripts/killbox.gd index f860556..8d7523c 100644 --- a/Scripts/killbox.gd +++ b/Scripts/killbox.gd @@ -1,4 +1,5 @@ -class_name KillBox extends Area3D +class_name KillBox +extends Area3D @export var level: Level diff --git a/Scripts/level.gd b/Scripts/level.gd index 845bc0c..1be547f 100644 --- a/Scripts/level.gd +++ b/Scripts/level.gd @@ -1,11 +1,12 @@ -class_name Level extends GridMap +class_name Level +extends Node3D @export var enemy_pool: Array[Enemy] @export var tower_path: Node @export var player_spawns: Array[Node3D] @export var enemy_spawns: Array[EnemySpawner] @export var enemy_goals: Array[Node3D] -@export var corpses: Node3D +@export var corpses: Node @export var flow_field: FlowField @export var cinematic_cam: CinematicCamManager @export var printer: CardPrinter diff --git a/Scripts/lifebar_segment.gd b/Scripts/lifebar_segment.gd index 811cd54..287d92a 100644 --- a/Scripts/lifebar_segment.gd +++ b/Scripts/lifebar_segment.gd @@ -1,5 +1,5 @@ -extends Control class_name LivesBarSegment +extends Control var lives_left: int = 6 diff --git a/Scripts/lives_bar.gd b/Scripts/lives_bar.gd index 00e4bf8..cc11441 100644 --- a/Scripts/lives_bar.gd +++ b/Scripts/lives_bar.gd @@ -1,3 +1,4 @@ +class_name LivesBar extends TextureRect @export var segments: Array[LivesBarSegment] diff --git a/Scripts/lobby.gd b/Scripts/lobby.gd index 4ff4714..67bc3e6 100644 --- a/Scripts/lobby.gd +++ b/Scripts/lobby.gd @@ -1,4 +1,5 @@ -class_name Lobby extends Control +class_name Lobby +extends Control @export var character_select_screen: PackedScene #@export var scoreboard: Scoreboard diff --git a/Scripts/minimap_cam.gd b/Scripts/minimap_cam.gd index d75449c..6f07370 100644 --- a/Scripts/minimap_cam.gd +++ b/Scripts/minimap_cam.gd @@ -1,5 +1,5 @@ -extends Camera3D class_name MinimapCamera3D +extends Camera3D @export var anchor: Node3D #@export var face_north: bool diff --git a/mod_menu.gd b/Scripts/mod_menu.gd similarity index 95% rename from mod_menu.gd rename to Scripts/mod_menu.gd index f81c8a5..fa56572 100644 --- a/mod_menu.gd +++ b/Scripts/mod_menu.gd @@ -1,4 +1,5 @@ -class_name ModMenu extends PanelContainer +class_name ModMenu +extends PanelContainer var entry_containers: Array[HBoxContainer] var entry_names: Dictionary[String, Label] diff --git a/mod_menu.gd.uid b/Scripts/mod_menu.gd.uid similarity index 100% rename from mod_menu.gd.uid rename to Scripts/mod_menu.gd.uid diff --git a/Scripts/multiplayer_lobby.gd b/Scripts/multiplayer_lobby.gd index eafe26d..4c35323 100644 --- a/Scripts/multiplayer_lobby.gd +++ b/Scripts/multiplayer_lobby.gd @@ -1,4 +1,5 @@ -class_name MultiplayerLobby extends Lobby +class_name MultiplayerLobby +extends Lobby signal player_connected(peer_id: int, player_profile: PlayerProfile) signal player_disconnected(peer_id: int) diff --git a/Scripts/on_top_camera.gd b/Scripts/on_top_camera.gd index 18a4772..aa297a4 100644 --- a/Scripts/on_top_camera.gd +++ b/Scripts/on_top_camera.gd @@ -1,4 +1,5 @@ -class_name OnTopCamera extends Camera3D +class_name OnTopCamera +extends Camera3D @export var clone_camera: Node3D diff --git a/Scripts/options_menu.gd b/Scripts/options_menu.gd index 98562f0..7bac30d 100644 --- a/Scripts/options_menu.gd +++ b/Scripts/options_menu.gd @@ -1,4 +1,5 @@ -class_name OptionsMenu extends Control +class_name OptionsMenu +extends Control @export var gameplay: GameplayOptionsMenu @export var graphics: GraphicsOptionsMenu diff --git a/Scripts/path_visual_thing.gd b/Scripts/path_visual_thing.gd deleted file mode 100644 index a944d93..0000000 --- a/Scripts/path_visual_thing.gd +++ /dev/null @@ -1,17 +0,0 @@ -class_name PathVisualThing extends PathFollow3D - -@export var speed: float = 0.5 -@export var world_model: Node3D -@export var minimap_model: Node3D - - -func _process(delta: float) -> void: - progress += speed * delta - - -func set_world_visible(value: bool) -> void: - world_model.set_visible(value) - - -func set_minimap_visible(value: bool) -> void: - minimap_model.set_visible(value) diff --git a/Scripts/path_visual_thing.gd.uid b/Scripts/path_visual_thing.gd.uid deleted file mode 100644 index 66e6336..0000000 --- a/Scripts/path_visual_thing.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cr3sfjjo6l6n2 diff --git a/Scripts/pickup_notification.gd b/Scripts/pickup_notification.gd index b333595..b640d93 100644 --- a/Scripts/pickup_notification.gd +++ b/Scripts/pickup_notification.gd @@ -1,4 +1,5 @@ -class_name PickupNotification extends PanelContainer +class_name PickupNotification +extends PanelContainer @export var fade_out_time: float @export var style: StyleBoxFlat diff --git a/Scripts/round_stats.gd b/Scripts/round_stats.gd index 8c3407f..1e5c411 100644 --- a/Scripts/round_stats.gd +++ b/Scripts/round_stats.gd @@ -1,4 +1,5 @@ -class_name RoundStats extends RefCounted +class_name RoundStats +extends RefCounted var enemies_undefeated: Dictionary diff --git a/Scripts/scoreboard.gd b/Scripts/scoreboard.gd index 6ab591c..361b10f 100644 --- a/Scripts/scoreboard.gd +++ b/Scripts/scoreboard.gd @@ -1,4 +1,5 @@ -class_name Scoreboard extends PanelContainer +class_name Scoreboard +extends PanelContainer signal all_players_ready() diff --git a/Scripts/scoreboard_entry.gd b/Scripts/scoreboard_entry.gd index 32b8dfa..45033bd 100644 --- a/Scripts/scoreboard_entry.gd +++ b/Scripts/scoreboard_entry.gd @@ -1,4 +1,5 @@ -class_name ScoreboardEntry extends HBoxContainer +class_name ScoreboardEntry +extends HBoxContainer var display_name: String var character: int diff --git a/Scripts/server_form.gd b/Scripts/server_form.gd index 3fe609a..51b535c 100644 --- a/Scripts/server_form.gd +++ b/Scripts/server_form.gd @@ -1,4 +1,5 @@ -class_name ServerForm extends PanelContainer +class_name ServerForm +extends PanelContainer signal connect_button_pressed signal host_button_pressed diff --git a/Scripts/singleplayer_lobby.gd b/Scripts/singleplayer_lobby.gd index 1bd06f3..65f8e9c 100644 --- a/Scripts/singleplayer_lobby.gd +++ b/Scripts/singleplayer_lobby.gd @@ -1,4 +1,5 @@ -class_name SinglePlayerLobby extends Lobby +class_name SinglePlayerLobby +extends Lobby func _ready() -> void: diff --git a/Scripts/sprite_bobber.gd b/Scripts/sprite_bobber.gd index 12b98f7..69f4aff 100644 --- a/Scripts/sprite_bobber.gd +++ b/Scripts/sprite_bobber.gd @@ -1,4 +1,5 @@ -class_name SpriteBobber extends Node +class_name SpriteBobber +extends Node @export var character: EnemyController @export var sprite: Node3D diff --git a/Scripts/status_effector.gd b/Scripts/status_effector.gd index 0a758da..f3deeb0 100644 --- a/Scripts/status_effector.gd +++ b/Scripts/status_effector.gd @@ -1,4 +1,5 @@ -class_name StatusEffector extends Node +class_name StatusEffector +extends Node @export var sprite_container: Container ## Container that effect icons should be instantiated under diff --git a/Scripts/target_dummy.gd b/Scripts/target_dummy.gd index 2415180..c9d404b 100644 --- a/Scripts/target_dummy.gd +++ b/Scripts/target_dummy.gd @@ -1,4 +1,5 @@ -class_name Dummy extends EnemyController +class_name Dummy +extends EnemyController func _on_health_health_depleted() -> void: diff --git a/Scripts/target_finder.gd b/Scripts/target_finder.gd index e8cf771..82b4290 100644 --- a/Scripts/target_finder.gd +++ b/Scripts/target_finder.gd @@ -1,4 +1,5 @@ -class_name TargetFinder extends Node +class_name TargetFinder +extends Node enum TARGETING_STRATEGY { RANDOM = 0, diff --git a/Scripts/text_input_popup.gd b/Scripts/text_input_popup.gd index 874887f..a0bef1f 100644 --- a/Scripts/text_input_popup.gd +++ b/Scripts/text_input_popup.gd @@ -1,4 +1,5 @@ -class_name TextInputPopup extends PanelContainer +class_name TextInputPopup +extends PanelContainer signal completed(outcome: bool) diff --git a/Scripts/visualized_path.gd b/Scripts/visualized_path.gd deleted file mode 100644 index 2c463ef..0000000 --- a/Scripts/visualized_path.gd +++ /dev/null @@ -1,28 +0,0 @@ -class_name VisualizedPath extends Path3D - -var visual_scene: PackedScene = preload("res://Scenes/path_visual_thing.tscn") -var length: float = 0.0 -var visualizer_points: Array = [] - - -func spawn_visualizer_points() -> void: - var new_length: float = curve.get_baked_length() - for x: int in floori(new_length) - visualizer_points.size(): - var point: PathFollow3D = visual_scene.instantiate() - visualizer_points.append(point) - add_child(point) - length = new_length - #print(str(int(length)) + " / " + str(visualizer_points.size()) + ", diff: " + str(visualizer_points.size() - length)) - for x: int in visualizer_points.size(): - visualizer_points[x].progress_ratio = float(x) / visualizer_points.size() - enable_visualization() - - -func disable_visualization() -> void: - for x: PathFollow3D in visualizer_points: - x.set_world_visible(false) - - -func enable_visualization() -> void: - for x: PathFollow3D in visualizer_points: - x.set_world_visible(true) diff --git a/Scripts/visualized_path.gd.uid b/Scripts/visualized_path.gd.uid deleted file mode 100644 index 23f0bfe..0000000 --- a/Scripts/visualized_path.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://cd500cyj1tdyw diff --git a/Scripts/wave.gd b/Scripts/wave.gd index f5f2d12..ee44e33 100644 --- a/Scripts/wave.gd +++ b/Scripts/wave.gd @@ -1,4 +1,5 @@ -class_name Wave extends RefCounted +class_name Wave +extends RefCounted var enemy_groups: Array[EnemyCard] diff --git a/Scripts/wave_manager.gd b/Scripts/wave_manager.gd index 7dd04c5..d1644b2 100644 --- a/Scripts/wave_manager.gd +++ b/Scripts/wave_manager.gd @@ -1,4 +1,5 @@ -class_name WaveManager extends Object +class_name WaveManager +extends Object ## A collection of static functions related to enemy wave generation ## ## Contains the algorithm for generating a wave based on a given pool of enemies diff --git a/Shader/foliage.gdshader.uid b/Shader/foliage.gdshader.uid deleted file mode 100644 index 6a1ac76..0000000 --- a/Shader/foliage.gdshader.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bjetf8dvc4ki3 diff --git a/Shader/foliage.gdshader b/Shaders/foliage.gdshader similarity index 100% rename from Shader/foliage.gdshader rename to Shaders/foliage.gdshader diff --git a/foliage.gdshader.uid b/Shaders/foliage.gdshader.uid similarity index 100% rename from foliage.gdshader.uid rename to Shaders/foliage.gdshader.uid diff --git a/jitter.gdshader b/Shaders/jitter.gdshader similarity index 100% rename from jitter.gdshader rename to Shaders/jitter.gdshader diff --git a/jitter.gdshader.uid b/Shaders/jitter.gdshader.uid similarity index 100% rename from jitter.gdshader.uid rename to Shaders/jitter.gdshader.uid diff --git a/pixelate.gdshader b/Shaders/pixelate.gdshader similarity index 100% rename from pixelate.gdshader rename to Shaders/pixelate.gdshader diff --git a/pixelate.gdshader.uid b/Shaders/pixelate.gdshader.uid similarity index 100% rename from pixelate.gdshader.uid rename to Shaders/pixelate.gdshader.uid diff --git a/pixeldither.gdshader b/Shaders/pixeldither.gdshader similarity index 100% rename from pixeldither.gdshader rename to Shaders/pixeldither.gdshader diff --git a/pixeldither.gdshader.uid b/Shaders/pixeldither.gdshader.uid similarity index 100% rename from pixeldither.gdshader.uid rename to Shaders/pixeldither.gdshader.uid diff --git a/playstation.gdshader b/Shaders/playstation.gdshader similarity index 100% rename from playstation.gdshader rename to Shaders/playstation.gdshader diff --git a/playstation.gdshader.uid b/Shaders/playstation.gdshader.uid similarity index 100% rename from playstation.gdshader.uid rename to Shaders/playstation.gdshader.uid diff --git a/psx.gdshader b/Shaders/psx.gdshader similarity index 100% rename from psx.gdshader rename to Shaders/psx.gdshader diff --git a/psx.gdshader.uid b/Shaders/psx.gdshader.uid similarity index 100% rename from psx.gdshader.uid rename to Shaders/psx.gdshader.uid diff --git a/tiler.gdshader b/Shaders/tiler.gdshader similarity index 100% rename from tiler.gdshader rename to Shaders/tiler.gdshader diff --git a/tiler.gdshader.uid b/Shaders/tiler.gdshader.uid similarity index 100% rename from tiler.gdshader.uid rename to Shaders/tiler.gdshader.uid diff --git a/new_standard_material_3d.tres b/Towers/Ascension/new_standard_material_3d.tres similarity index 100% rename from new_standard_material_3d.tres rename to Towers/Ascension/new_standard_material_3d.tres diff --git a/Towers/Ascension/tower.tscn b/Towers/Ascension/tower.tscn index 9ac935a..74ec24d 100644 --- a/Towers/Ascension/tower.tscn +++ b/Towers/Ascension/tower.tscn @@ -3,8 +3,8 @@ [ext_resource type="PackedScene" uid="uid://bvqu1heobgboe" path="res://Scenes/Towers/tower.tscn" id="1_stebd"] [ext_resource type="Script" uid="uid://djp7tepdsda8w" path="res://Scripts/effect.gd" id="2_jbe1c"] [ext_resource type="Script" uid="uid://chy7bx8dlwgs0" path="res://Scripts/StatusEffects/status_effect.gd" id="3_vxmma"] -[ext_resource type="PackedScene" uid="uid://cx8f6tsipvmls" path="res://ladder.tscn" id="4_eys8f"] -[ext_resource type="Material" uid="uid://chxjofsr2lq1r" path="res://new_standard_material_3d.tres" id="5_lny5m"] +[ext_resource type="PackedScene" uid="uid://cx8f6tsipvmls" path="res://Scenes/Ladder/ladder.tscn" id="4_eys8f"] +[ext_resource type="Material" uid="uid://chxjofsr2lq1r" path="res://Towers/Ascension/new_standard_material_3d.tres" id="5_lny5m"] [sub_resource type="Resource" id="Resource_lny5m"] script = ExtResource("2_jbe1c") diff --git a/Towers/BombLauncher/tower_bomb_launcher.gd b/Towers/BombLauncher/tower_bomb_launcher.gd index cd02cac..827bb37 100644 --- a/Towers/BombLauncher/tower_bomb_launcher.gd +++ b/Towers/BombLauncher/tower_bomb_launcher.gd @@ -1,4 +1,5 @@ -class_name BombLauncherTower extends Tower +class_name BombLauncherTower +extends Tower func _ready() -> void: diff --git a/Towers/Gatling/tower_gatling.gd b/Towers/Gatling/tower_gatling.gd index d789027..faf910a 100644 --- a/Towers/Gatling/tower_gatling.gd +++ b/Towers/Gatling/tower_gatling.gd @@ -1,4 +1,5 @@ -class_name GatlingTower extends Tower +class_name GatlingTower +extends Tower var time_since_firing_started: float = 0.0 var time_to_reach_max_speed: float = 0.0 diff --git a/Towers/Overclock/overclock_tower.gd b/Towers/Overclock/overclock_tower.gd index 3542081..6830b3d 100644 --- a/Towers/Overclock/overclock_tower.gd +++ b/Towers/Overclock/overclock_tower.gd @@ -1,4 +1,5 @@ -class_name OverclockTower extends Tower +class_name OverclockTower +extends Tower func shoot() -> void: #affector.apply_effect(effect, target_finder.targets) diff --git a/Towers/Reactor/tower_reactor.gd b/Towers/Reactor/tower_reactor.gd index 939c55c..80a4e22 100644 --- a/Towers/Reactor/tower_reactor.gd +++ b/Towers/Reactor/tower_reactor.gd @@ -1,4 +1,5 @@ -class_name ReactorTower extends Tower +class_name ReactorTower +extends Tower @export var particles: GPUParticles3D diff --git a/Towers/tower.gd b/Towers/tower.gd index ecd04f2..f2c1cf9 100644 --- a/Towers/tower.gd +++ b/Towers/tower.gd @@ -1,4 +1,5 @@ -class_name Tower extends Node3D +class_name Tower +extends Node3D @export var turns_to_aim: bool = true @export var stats: CardText diff --git a/UI/AchievementPopup/achievement_popup.gd b/UI/AchievementPopup/achievement_popup.gd index e5269cf..fd1f6bb 100644 --- a/UI/AchievementPopup/achievement_popup.gd +++ b/UI/AchievementPopup/achievement_popup.gd @@ -1,4 +1,5 @@ -class_name AchievementPopup extends PanelContainer +class_name AchievementPopup +extends PanelContainer func set_achievement(text: String, sprite: Texture) -> void: diff --git a/UI/EnemyCard/enemy_card_ui.gd b/UI/EnemyCard/enemy_card_ui.gd index b07fb55..458a2a2 100644 --- a/UI/EnemyCard/enemy_card_ui.gd +++ b/UI/EnemyCard/enemy_card_ui.gd @@ -1,4 +1,5 @@ -class_name EnemyCardUI extends Control +class_name EnemyCardUI +extends Control @export var enemy_name: Label @export var enemy_rarity: TextureRect diff --git a/energy_bar.gd b/UI/EnergyBar/energy_bar.gd similarity index 99% rename from energy_bar.gd rename to UI/EnergyBar/energy_bar.gd index 2bc9816..a7992bc 100644 --- a/energy_bar.gd +++ b/UI/EnergyBar/energy_bar.gd @@ -1,4 +1,5 @@ -class_name EnergyBar extends Control +class_name EnergyBar +extends Control @export var cell_icon_tex: Texture @export var bar_overlay: TextureRect diff --git a/energy_bar.gd.uid b/UI/EnergyBar/energy_bar.gd.uid similarity index 100% rename from energy_bar.gd.uid rename to UI/EnergyBar/energy_bar.gd.uid diff --git a/energy_bar.tscn b/UI/EnergyBar/energy_bar.tscn similarity index 99% rename from energy_bar.tscn rename to UI/EnergyBar/energy_bar.tscn index 7a63270..5e3ef9c 100644 --- a/energy_bar.tscn +++ b/UI/EnergyBar/energy_bar.tscn @@ -1,6 +1,6 @@ [gd_scene load_steps=13 format=3 uid="uid://c2id8hjico4w8"] -[ext_resource type="Script" uid="uid://gjcl34fan741" path="res://energy_bar.gd" id="1_rdnti"] +[ext_resource type="Script" uid="uid://gjcl34fan741" path="res://UI/EnergyBar/energy_bar.gd" id="1_rdnti"] [ext_resource type="Texture2D" uid="uid://bm13bgpre6ubr" path="res://Assets/Textures/energy_cell.png" id="2_q48n7"] [ext_resource type="Texture2D" uid="uid://b1y1d1ge4fl8p" path="res://Assets/Textures/energy_bar.png" id="3_d65ol"] [ext_resource type="Texture2D" uid="uid://c0kwkv021p7gl" path="res://Assets/Textures/energy_bar_bg3.png" id="3_efdny"] diff --git a/UI/KeybindEntry.gd b/UI/KeybindEntry.gd index 6eb48ab..0fa8e57 100644 --- a/UI/KeybindEntry.gd +++ b/UI/KeybindEntry.gd @@ -1,4 +1,5 @@ -class_name KeybindEntry extends HBoxContainer +class_name KeybindEntry +extends HBoxContainer signal bind_button_pressed(button: Button) diff --git a/UI/Keybinding/key_icon_map.gd b/UI/Keybinding/key_icon_map.gd index baccb4c..8d9f38b 100644 --- a/UI/Keybinding/key_icon_map.gd +++ b/UI/Keybinding/key_icon_map.gd @@ -1,4 +1,5 @@ class_name KeyIconMap +extends Object static var playstation_keys: Dictionary = { diff --git a/UI/enemybox.gd b/UI/enemybox.gd index 8d838f8..68aa98c 100644 --- a/UI/enemybox.gd +++ b/UI/enemybox.gd @@ -1,4 +1,5 @@ -class_name EnemyBox extends HBoxContainer +class_name EnemyBox +extends HBoxContainer func set_wave(wave: int) -> void: diff --git a/UI/hero_select_card.gd b/UI/hero_select_card.gd index e51eb40..a632e30 100644 --- a/UI/hero_select_card.gd +++ b/UI/hero_select_card.gd @@ -1,3 +1,4 @@ +class_name HeroSelectCard extends PanelContainer signal pressed(hero_class: int) diff --git a/UI/keybind_screen.gd b/UI/keybind_screen.gd index 0f99ad9..70bf7a1 100644 --- a/UI/keybind_screen.gd +++ b/UI/keybind_screen.gd @@ -1,4 +1,5 @@ -class_name KeybindPopup extends Control +class_name KeybindPopup +extends Control signal event_detected(event: InputEvent) diff --git a/new_style_box_flat.tres b/UI/new_style_box_flat.tres similarity index 100% rename from new_style_box_flat.tres rename to UI/new_style_box_flat.tres diff --git a/UI/new_theme.tres b/UI/new_theme.tres index f1634f1..482d884 100644 --- a/UI/new_theme.tres +++ b/UI/new_theme.tres @@ -1,6 +1,6 @@ [gd_resource type="Theme" load_steps=16 format=3 uid="uid://b6a0ip4p72tgx"] -[ext_resource type="StyleBox" uid="uid://lpof3jdy7hr7" path="res://new_style_box_flat.tres" id="4_o03gw"] +[ext_resource type="StyleBox" uid="uid://lpof3jdy7hr7" path="res://UI/new_style_box_flat.tres" id="4_o03gw"] [ext_resource type="FontFile" uid="uid://c17ml15e2qan0" path="res://Assets/Fonts/TrueType (.ttf)/Sagewold-Regular.ttf" id="4_v3wda"] [sub_resource type="StyleBoxFlat" id="StyleBoxFlat_pyjol"] diff --git a/UI/tower_label.gd b/UI/tower_label.gd index 1511d09..b6e3aef 100644 --- a/UI/tower_label.gd +++ b/UI/tower_label.gd @@ -1,4 +1,5 @@ -class_name TowerLabel extends HBoxContainer +class_name TowerLabel +extends HBoxContainer @export var tower_name: Label @export var tower_amount: Label diff --git a/Weapons/Ascension/ascension_weapon.gd b/Weapons/Ascension/ascension_weapon.gd index 7df6535..9d1ded4 100644 --- a/Weapons/Ascension/ascension_weapon.gd +++ b/Weapons/Ascension/ascension_weapon.gd @@ -1,4 +1,5 @@ -class_name AscensionWeapon extends Weapon +class_name AscensionWeapon +extends Weapon func shoot() -> void: diff --git a/Weapons/Assault/weapon_assault.gd b/Weapons/Assault/weapon_assault.gd index 4a5cd55..f06d6ef 100644 --- a/Weapons/Assault/weapon_assault.gd +++ b/Weapons/Assault/weapon_assault.gd @@ -1 +1,2 @@ -class_name AssaultWeapon extends HitscanWeapon +class_name AssaultWeapon +extends HitscanWeapon diff --git a/Weapons/Blowdart/weapon_blowdart.gd b/Weapons/Blowdart/weapon_blowdart.gd index 00e4a2e..9cad545 100644 --- a/Weapons/Blowdart/weapon_blowdart.gd +++ b/Weapons/Blowdart/weapon_blowdart.gd @@ -1,4 +1,5 @@ -class_name BlowdartWeapon extends StatusApplyingWeapon +class_name BlowdartWeapon +extends StatusApplyingWeapon func build_status_object() -> StatusEffect: diff --git a/Weapons/BombLauncher/weapon_bomb_launcher.gd b/Weapons/BombLauncher/weapon_bomb_launcher.gd index 90ad245..8492881 100644 --- a/Weapons/BombLauncher/weapon_bomb_launcher.gd +++ b/Weapons/BombLauncher/weapon_bomb_launcher.gd @@ -1,4 +1,5 @@ -class_name BombLauncherWeapon extends ProjectileWeapon +class_name BombLauncherWeapon +extends ProjectileWeapon func _ready() -> void: diff --git a/Weapons/Fireball/weapon_fireball.gd b/Weapons/Fireball/weapon_fireball.gd index eb680af..896a3ba 100644 --- a/Weapons/Fireball/weapon_fireball.gd +++ b/Weapons/Fireball/weapon_fireball.gd @@ -1 +1,2 @@ -class_name FireballWeapon extends ProjectileWeapon +class_name FireballWeapon +extends ProjectileWeapon diff --git a/Weapons/Flamethrower/weapon_flamethrower.gd b/Weapons/Flamethrower/weapon_flamethrower.gd index 35f4a90..2a26d08 100644 --- a/Weapons/Flamethrower/weapon_flamethrower.gd +++ b/Weapons/Flamethrower/weapon_flamethrower.gd @@ -1,4 +1,5 @@ -class_name FlamethrowerWeapon extends ShapecastWeapon +class_name FlamethrowerWeapon +extends ShapecastWeapon func build_status_object() -> StatusEffect: diff --git a/Weapons/Gatling/weapon_gatling.gd b/Weapons/Gatling/weapon_gatling.gd index 8729ca8..0115cf1 100644 --- a/Weapons/Gatling/weapon_gatling.gd +++ b/Weapons/Gatling/weapon_gatling.gd @@ -1,4 +1,5 @@ -class_name GatlingWeapon extends HitscanWeapon +class_name GatlingWeapon +extends HitscanWeapon var time_since_firing_started: float = 0.0 var time_to_reach_max_speed: float = 0.0 diff --git a/Weapons/GlueLauncher/weapon_glue_launcher.gd b/Weapons/GlueLauncher/weapon_glue_launcher.gd index 5e52638..14dc2ea 100644 --- a/Weapons/GlueLauncher/weapon_glue_launcher.gd +++ b/Weapons/GlueLauncher/weapon_glue_launcher.gd @@ -1,4 +1,5 @@ -class_name GlueLauncherWeapon extends StatusApplyingWeapon +class_name GlueLauncherWeapon +extends StatusApplyingWeapon func build_status_object() -> StatusEffect: diff --git a/Weapons/Icicle/weapon_icicle.gd b/Weapons/Icicle/weapon_icicle.gd index 11abcf2..2ca6404 100644 --- a/Weapons/Icicle/weapon_icicle.gd +++ b/Weapons/Icicle/weapon_icicle.gd @@ -1 +1,2 @@ -class_name IcicleWeapon extends ProjectileWeapon +class_name IcicleWeapon +extends ProjectileWeapon diff --git a/Weapons/Overclock/overclock_weapon.gd b/Weapons/Overclock/overclock_weapon.gd index 841bd9b..9e0b34c 100644 --- a/Weapons/Overclock/overclock_weapon.gd +++ b/Weapons/Overclock/overclock_weapon.gd @@ -1,5 +1,5 @@ -class_name OverclockWeapon extends Weapon - +class_name OverclockWeapon +extends Weapon @export var raycast: RayCast3D @export var range_debug_indicator: CSGSphere3D diff --git a/Weapons/Reactor/weapon_reactor.gd b/Weapons/Reactor/weapon_reactor.gd index 9d13628..fd96cc6 100644 --- a/Weapons/Reactor/weapon_reactor.gd +++ b/Weapons/Reactor/weapon_reactor.gd @@ -1,4 +1,5 @@ -class_name ReactorWeapon extends ShapecastWeapon +class_name ReactorWeapon +extends ShapecastWeapon func build_status_object() -> StatusEffect: diff --git a/Weapons/RocketLauncher/weapon_rocket_launcher.gd b/Weapons/RocketLauncher/weapon_rocket_launcher.gd index 59c0c54..a23a8f8 100644 --- a/Weapons/RocketLauncher/weapon_rocket_launcher.gd +++ b/Weapons/RocketLauncher/weapon_rocket_launcher.gd @@ -1,4 +1,5 @@ -class_name RocketLauncherWeapon extends ProjectileWeapon +class_name RocketLauncherWeapon +extends ProjectileWeapon @export var target_icon_scene: PackedScene @export var targeting_raycast: RayCast3D diff --git a/Weapons/Sniper/weapon_sniper.gd b/Weapons/Sniper/weapon_sniper.gd index 46ebdd1..9f9fcc4 100644 --- a/Weapons/Sniper/weapon_sniper.gd +++ b/Weapons/Sniper/weapon_sniper.gd @@ -1,4 +1,5 @@ -class_name SniperWeapon extends HitscanWeapon +class_name SniperWeapon +extends HitscanWeapon @export var scope_mask: CanvasLayer diff --git a/bridge.glb b/Worlds/GreenPlanet/Levels/Bridge/bridge.glb similarity index 100% rename from bridge.glb rename to Worlds/GreenPlanet/Levels/Bridge/bridge.glb diff --git a/bridge.glb.import b/Worlds/GreenPlanet/Levels/Bridge/bridge.glb.import similarity index 81% rename from bridge.glb.import rename to Worlds/GreenPlanet/Levels/Bridge/bridge.glb.import index 429f025..64c96da 100644 --- a/bridge.glb.import +++ b/Worlds/GreenPlanet/Levels/Bridge/bridge.glb.import @@ -4,12 +4,12 @@ importer="scene" importer_version=1 type="PackedScene" uid="uid://ca174636iktc6" -path="res://.godot/imported/bridge.glb-b17fbcafeb02ffc55d5c37667de99850.scn" +path="res://.godot/imported/bridge.glb-8a57eeddb9b299ef3c8dd1f0a8ff0656.scn" [deps] -source_file="res://bridge.glb" -dest_files=["res://.godot/imported/bridge.glb-b17fbcafeb02ffc55d5c37667de99850.scn"] +source_file="res://Worlds/GreenPlanet/Levels/Bridge/bridge.glb" +dest_files=["res://.godot/imported/bridge.glb-8a57eeddb9b299ef3c8dd1f0a8ff0656.scn"] [params] diff --git a/Worlds/GreenPlanet/Levels/first_level.tscn b/Worlds/GreenPlanet/Levels/Bridge/bridge.tscn similarity index 76% rename from Worlds/GreenPlanet/Levels/first_level.tscn rename to Worlds/GreenPlanet/Levels/Bridge/bridge.tscn index e9320e8..fa717dd 100644 --- a/Worlds/GreenPlanet/Levels/first_level.tscn +++ b/Worlds/GreenPlanet/Levels/Bridge/bridge.tscn @@ -1,28 +1,23 @@ -[gd_scene load_steps=36 format=3 uid="uid://y1qa1g3ic8sp"] +[gd_scene load_steps=31 format=3 uid="uid://y1qa1g3ic8sp"] [ext_resource type="Script" uid="uid://cvejbo3srx8py" path="res://Scripts/level.gd" id="1_ws6nn"] [ext_resource type="PackedScene" uid="uid://d2yv447trxkwt" path="res://Scenes/enemy_spawner.tscn" id="3_5imwp"] [ext_resource type="Script" uid="uid://cbwxa2a4hfcy4" path="res://Scripts/Resources/enemy.gd" id="3_6od8s"] [ext_resource type="Resource" uid="uid://8eba45hql7bo" path="res://Enemies/EyeDog/dog.tres" id="5_6od8s"] [ext_resource type="Resource" uid="uid://bffhb5krs5elm" path="res://Enemies/Crystalisk/airenemy2.tres" id="9_4gdda"] -[ext_resource type="PackedScene" uid="uid://cjvgqek2phoq1" path="res://obstacle1.tscn" id="9_luxf3"] [ext_resource type="PackedScene" uid="uid://1b2ikdanl66b" path="res://Scenes/CardPrinter/card_printer.tscn" id="9_r25gu"] [ext_resource type="Script" uid="uid://cxwtuxytavfu5" path="res://Scripts/enemy_goal.gd" id="9_s3rd7"] [ext_resource type="Script" uid="uid://yk54owkf7pgj" path="res://Scripts/cinema_cam.gd" id="9_xuyhn"] [ext_resource type="PackedScene" uid="uid://iohlxrso4bl8" path="res://Worlds/GreenPlanet/Decorations/tree.tscn" id="10_7v1co"] -[ext_resource type="PackedScene" uid="uid://dk0k7ndwhaenh" path="res://obstacle2.tscn" id="10_dsyfh"] -[ext_resource type="PackedScene" uid="uid://ds4sa5xyfgyo0" path="res://obstacle3.tscn" id="11_dfexu"] [ext_resource type="AudioStream" uid="uid://dknygn5eyuhxt" path="res://Audio/shot1.wav" id="11_l537x"] -[ext_resource type="PackedScene" uid="uid://sud13mytdwhv" path="res://obstacle4.tscn" id="12_mctwo"] -[ext_resource type="MeshLibrary" uid="uid://jfr8j8kycfa5" path="res://Worlds/GreenPlanet/tilemap.tres" id="12_ywwug"] [ext_resource type="PackedScene" uid="uid://d3h3lmlf3hljl" path="res://Worlds/GreenPlanet/Decorations/bush.tscn" id="16_lhsvw"] [ext_resource type="PackedScene" uid="uid://7g3jev3v6d3l" path="res://Scenes/ShopStand/shop_stand.tscn" id="19_h6brl"] [ext_resource type="PackedScene" uid="uid://cmneu5o0m02l8" path="res://Worlds/GreenPlanet/Enemies/leaping_enemy.tscn" id="20_ttr7n"] -[ext_resource type="PackedScene" uid="uid://2vv6mrxiwibf" path="res://flow_field_tool_output.tscn" id="24_sbix1"] +[ext_resource type="PackedScene" uid="uid://2vv6mrxiwibf" path="res://Scenes/FlowField/flow_field_tool_output.tscn" id="24_sbix1"] [ext_resource type="Script" uid="uid://cy6oj2hr8q8br" path="res://Scripts/killbox.gd" id="26_tuncf"] [ext_resource type="PackedScene" uid="uid://c2avjln5vmr0y" path="res://Scenes/Shredder/shredder.tscn" id="27_gppb4"] [ext_resource type="Texture2D" uid="uid://dqrfgw65d0sq8" path="res://Assets/Textures/bridge_map.png" id="28_6od8s"] -[ext_resource type="PackedScene" uid="uid://ca174636iktc6" path="res://bridge.glb" id="30_ttr7n"] +[ext_resource type="PackedScene" uid="uid://ca174636iktc6" path="res://Worlds/GreenPlanet/Levels/Bridge/bridge.glb" id="30_ttr7n"] [sub_resource type="Curve3D" id="Curve3D_3rdl2"] _data = { @@ -236,26 +231,19 @@ adjustment_contrast = 2.18 [sub_resource type="BoxShape3D" id="BoxShape3D_134um"] size = Vector3(70.0478, 1, 73.4615) -[node name="GridMap" type="GridMap" node_paths=PackedStringArray("tower_path", "player_spawns", "enemy_spawns", "enemy_goals", "corpses", "flow_field", "cinematic_cam", "printer", "shop")] -mesh_library = ExtResource("12_ywwug") -cell_size = Vector3(1, 1, 1) -cell_center_x = false -cell_center_z = false -data = { -"cells": PackedInt32Array(65522, 65530, 1, 65522, 65531, 1, 65522, 65532, 1, 65522, 65533, 1, 65522, 65534, 1, 65522, 65535, 1, 65522, 0, 1, 65522, 1, 1, 65522, 2, 1, 65522, 3, 1, 65522, 4, 1, 65522, 5, 1, 65523, 65530, 1, 65523, 65531, 1, 65523, 65532, 1, 65523, 65533, 1, 65523, 65534, 1, 65523, 65535, 1, 65523, 0, 1, 65523, 1, 1, 65523, 2, 1, 65523, 3, 1, 65523, 4, 1, 65523, 5, 1, 65524, 65530, 1, 65524, 65531, 1, 65524, 65532, 1, 65524, 65533, 1, 65524, 65534, 1, 65524, 65535, 1, 65524, 0, 1, 65524, 1, 1, 65524, 2, 1, 65524, 3, 1, 65524, 4, 1, 65524, 5, 1, 65525, 65530, 1, 65525, 65531, 1, 65525, 65532, 1, 65525, 65533, 1, 65525, 65534, 1, 65525, 65535, 1, 65525, 0, 1, 65525, 1, 1, 65525, 2, 1, 65525, 3, 1, 65525, 4, 1, 65525, 5, 1, 65526, 65530, 1, 65526, 65531, 1, 65526, 65532, 1, 65526, 65533, 1, 65526, 65534, 1, 65526, 65535, 1, 65526, 0, 1, 65526, 1, 1, 65526, 2, 1, 65526, 3, 1, 65526, 4, 1, 65526, 5, 1, 65527, 65530, 1, 65527, 65531, 1, 65527, 65532, 1, 65527, 65533, 1, 65527, 65534, 1, 65527, 65535, 1, 65527, 0, 1, 65527, 1, 1, 65527, 2, 1, 65527, 3, 1, 65527, 4, 1, 65527, 5, 1, 65528, 65530, 1, 65528, 65531, 1, 65528, 65532, 1, 65528, 65533, 1, 65528, 65534, 1, 65528, 65535, 1, 65528, 0, 1, 65528, 1, 1, 65528, 2, 1, 65528, 3, 1, 65528, 4, 1, 65528, 5, 1, 65529, 65530, 1, 65529, 65531, 1, 65529, 65532, 1, 65529, 65533, 1, 65529, 65534, 1, 65529, 65535, 1, 65529, 0, 1, 65529, 1, 1, 65529, 2, 1, 65529, 3, 1, 65529, 4, 1, 65529, 5, 1, 65530, 65530, 1, 65530, 65531, 1, 65530, 65532, 1, 65530, 65533, 1, 65530, 65534, 1, 65530, 65535, 1, 65530, 0, 1, 65530, 1, 1, 65530, 2, 1, 65530, 3, 1, 65530, 4, 1, 65530, 5, 1, 65531, 65530, 1, 65531, 65531, 1, 65531, 65532, 1, 65531, 65533, 1, 65531, 65534, 1, 65531, 65535, 1, 65531, 0, 1, 65531, 1, 1, 65531, 2, 1, 65531, 3, 1, 65531, 4, 1, 65531, 5, 1, 65532, 65530, 1, 65532, 65531, 1, 65532, 65532, 1, 65532, 65533, 1, 65532, 65534, 1, 65532, 65535, 1, 65532, 0, 1, 65532, 1, 1, 65532, 2, 1, 65532, 3, 1, 65532, 4, 1, 65532, 5, 1, 65533, 65530, 1, 65533, 65531, 1, 65533, 65532, 1, 65533, 65533, 1, 65533, 65534, 1, 65533, 65535, 1, 65533, 0, 1, 65533, 1, 1, 65533, 2, 1, 65533, 3, 1, 65533, 4, 1, 65533, 5, 1, 65534, 65530, 1, 65534, 65531, 1, 65534, 65532, 1, 65534, 65533, 1, 65534, 65534, 1, 65534, 65535, 1, 65534, 0, 1, 65534, 1, 1, 65534, 2, 1, 65534, 3, 1, 65534, 4, 1, 65534, 5, 1, 65535, 65530, 1, 65535, 65531, 1, 65535, 65532, 1, 65535, 65533, 1, 65535, 65534, 1, 65535, 65535, 1, 65535, 0, 1, 65535, 1, 1, 65535, 2, 1, 65535, 3, 1, 65535, 4, 1, 65535, 5, 1, 0, 65530, 1, 0, 65531, 1, 0, 65533, 1, 0, 65534, 1, 0, 65535, 1, 0, 0, 1, 0, 1, 1, 0, 2, 1, 0, 3, 1, 0, 4, 1, 0, 5, 1, 1, 65531, 1, 1, 65534, 1, 1, 65535, 1, 1, 0, 1, 1, 1, 1, 1, 2, 1, 1, 3, 1, 1, 4, 1, 1, 5, 1, 2, 65530, 1, 2, 65531, 1, 2, 65532, 1, 2, 65533, 1, 2, 65535, 1, 2, 0, 1, 2, 1, 1, 2, 2, 1, 2, 3, 1, 2, 4, 1, 2, 5, 1, 3, 65530, 1, 3, 65531, 1, 3, 65533, 1, 3, 65534, 1, 3, 65535, 1, 3, 0, 1, 3, 1, 1, 3, 2, 1, 3, 3, 1, 3, 4, 1, 3, 5, 1, 4, 65530, 1, 4, 65531, 1, 4, 65532, 1, 4, 65533, 1, 4, 65534, 1, 4, 65535, 1, 4, 0, 1, 4, 1, 1, 4, 2, 1, 4, 3, 1, 4, 4, 1, 4, 5, 1, 5, 65530, 1, 5, 65531, 1, 5, 65532, 1, 5, 65533, 1, 5, 2, 1, 5, 3, 1, 5, 4, 1, 5, 5, 1, 6, 65530, 1, 6, 65531, 1, 6, 65532, 1, 6, 65533, 1, 6, 65534, 1, 6, 65535, 1, 6, 0, 1, 6, 1, 1, 6, 2, 1, 6, 3, 1, 6, 4, 1, 6, 5, 1, 7, 65530, 1, 7, 65531, 1, 7, 65532, 1, 7, 65533, 1, 7, 65534, 1, 7, 65535, 1, 7, 0, 1, 7, 1, 1, 7, 2, 1, 7, 3, 1, 7, 4, 1, 7, 5, 1, 8, 65530, 1, 8, 65531, 1, 8, 65532, 1, 8, 65533, 1, 8, 65534, 1, 8, 65535, 1, 8, 0, 1, 8, 1, 1, 8, 2, 1, 8, 3, 1, 8, 4, 1, 8, 5, 1, 9, 65530, 1, 9, 65531, 1, 9, 65532, 1, 9, 65533, 1, 9, 65534, 1, 9, 65535, 1, 9, 0, 1, 9, 1, 1, 9, 2, 1, 9, 3, 1, 9, 4, 1, 9, 5, 1, 10, 65530, 1, 10, 65531, 1, 10, 65532, 1, 10, 65533, 1, 10, 65534, 1, 10, 65535, 1, 10, 0, 1, 10, 1, 1, 10, 2, 1, 10, 3, 1, 10, 4, 1, 10, 5, 1, 11, 65530, 1, 11, 65531, 1, 11, 65532, 1, 11, 65533, 1, 11, 65534, 1, 11, 65535, 1, 11, 0, 1, 11, 1, 1, 11, 2, 1, 11, 3, 1, 11, 4, 1, 11, 5, 1, 12, 65530, 1, 12, 65531, 1, 12, 65532, 1, 12, 65533, 1, 12, 65534, 1, 12, 65535, 1, 12, 0, 1, 12, 1, 1, 12, 2, 1, 12, 3, 1, 12, 4, 1, 12, 5, 1, 13, 65530, 1, 13, 65531, 1, 13, 65532, 1, 13, 65533, 1, 13, 65534, 1, 13, 65535, 1, 13, 0, 1, 13, 1, 1, 13, 2, 1, 13, 3, 1, 13, 4, 1, 13, 5, 1, 14, 65530, 1, 14, 65531, 1, 14, 65532, 1, 14, 65533, 1, 14, 65534, 1, 14, 65535, 1, 14, 0, 1, 14, 1, 1, 14, 2, 1, 14, 3, 1, 14, 4, 1, 14, 5, 1, 2, 65534, 1, 3, 65532, 1, 5, 65534, 1, 5, 65535, 1, 5, 0, 1, 5, 1, 1, 0, 65532, 1, 1, 65532, 1, 1, 65533, 1, 1, 65530, 1, 65522, 6, 1, 65523, 6, 1, 65524, 6, 1, 65525, 6, 1, 65528, 6, 1, 65527, 6, 1, 65526, 6, 1, 65529, 6, 1, 65530, 6, 1, 65531, 6, 1, 65532, 6, 1, 65533, 6, 1, 65534, 6, 1, 65535, 6, 1, 0, 6, 1, 1, 6, 1, 2, 6, 1, 3, 6, 1, 4, 6, 1, 5, 6, 1, 6, 6, 1, 7, 6, 1, 8, 6, 1, 9, 6, 1, 10, 6, 1, 11, 6, 1, 12, 6, 1, 13, 6, 1, 14, 6, 1, 65535, 65529, 1, 65535, 65528, 1, 65534, 65528, 1, 65533, 65528, 1, 65532, 65528, 1, 65531, 65528, 1, 65530, 65528, 1, 65529, 65528, 1, 65528, 65528, 1, 65527, 65528, 1, 65526, 65528, 1, 65525, 65528, 1, 65524, 65528, 1, 65523, 65528, 1, 65522, 65528, 1, 65522, 65529, 1, 65523, 65529, 1, 65524, 65529, 1, 65525, 65529, 1, 65526, 65529, 1, 65527, 65529, 1, 65528, 65529, 1, 65529, 65529, 1, 65532, 65529, 1, 65533, 65529, 1, 65534, 65529, 1, 65531, 65529, 1, 65530, 65529, 1, 0, 65529, 1, 1, 65529, 1, 2, 65529, 1, 3, 65529, 1, 4, 65529, 1, 5, 65529, 1, 6, 65529, 1, 7, 65529, 1, 8, 65529, 1, 9, 65529, 1, 10, 65529, 1, 11, 65529, 1, 12, 65529, 1, 13, 65529, 1, 14, 65529, 1, 14, 65528, 1, 13, 65528, 1, 12, 65528, 1, 11, 65528, 1, 10, 65528, 1, 9, 65528, 1, 8, 65528, 1, 7, 65528, 1, 6, 65528, 1, 5, 65528, 1, 4, 65528, 1, 3, 65528, 1, 2, 65528, 1, 1, 65528, 1, 0, 65528, 1, 6, 7, 1, 6, 8, 1, 7, 8, 1, 8, 8, 1, 9, 8, 1, 10, 8, 1, 11, 8, 1, 12, 8, 1, 13, 8, 1, 14, 8, 1, 14, 7, 1, 13, 7, 1, 12, 7, 1, 11, 7, 1, 10, 7, 1, 9, 7, 1, 8, 7, 1, 7, 7, 1, 5, 7, 1, 4, 7, 1, 3, 7, 1, 2, 7, 1, 1, 7, 1, 0, 7, 1, 65535, 7, 1, 65534, 7, 1, 65533, 7, 1, 65532, 7, 1, 5, 8, 1, 4, 8, 1, 3, 8, 1, 2, 8, 1, 1, 8, 1, 0, 8, 1, 65535, 8, 1, 65534, 8, 1, 65533, 8, 1, 65532, 8, 1, 65531, 8, 1, 65530, 8, 1, 65529, 8, 1, 65528, 8, 1, 65527, 8, 1, 65526, 8, 1, 65525, 8, 1, 65524, 8, 1, 65524, 7, 1, 65523, 7, 1, 65522, 7, 1, 65522, 8, 1, 65523, 8, 1, 65525, 7, 1, 65526, 7, 1, 65527, 7, 1, 65528, 7, 1, 65529, 7, 1, 65530, 7, 1, 65531, 7, 1) -} +[node name="Bridge" type="Node3D" node_paths=PackedStringArray("tower_path", "player_spawns", "enemy_spawns", "enemy_goals", "corpses", "flow_field", "cinematic_cam", "printer", "shop")] script = ExtResource("1_ws6nn") enemy_pool = Array[ExtResource("3_6od8s")]([ExtResource("5_6od8s"), ExtResource("9_4gdda")]) tower_path = NodePath("Towers") player_spawns = [NodePath("PlayerSpawnLocations/PlayerSpawn1"), NodePath("PlayerSpawnLocations/PlayerSpawn2"), NodePath("PlayerSpawnLocations/PlayerSpawn3"), NodePath("PlayerSpawnLocations/PlayerSpawn4")] -enemy_spawns = [NodePath("GroundSpawn"), NodePath("AirSpawn"), NodePath("GroundSpawn2"), NodePath("GroundSpawn3"), NodePath("GroundSpawn4"), NodePath("GroundSpawn5")] +enemy_spawns = [NodePath("GroundSpawn"), NodePath("GroundSpawn2"), NodePath("GroundSpawn3"), NodePath("GroundSpawn4"), NodePath("GroundSpawn5"), NodePath("AirSpawn")] enemy_goals = [NodePath("EnemyGoal")] corpses = NodePath("Corpses") flow_field = NodePath("FlowField2") cinematic_cam = NodePath("CinemaCam") printer = NodePath("CardPrinter") shop = NodePath("ShopStand") -obstacle_scenes = Array[PackedScene]([ExtResource("9_luxf3"), ExtResource("10_dsyfh"), ExtResource("11_dfexu"), ExtResource("12_mctwo")]) +metadata/_custom_type_script = "uid://cvejbo3srx8py" metadata/_editor_floor_ = Vector3(4, -10, 8) [node name="CinemaCam" type="Node3D" parent="." node_paths=PackedStringArray("path_follows", "cameras")] @@ -276,6 +264,7 @@ loop = false [node name="Camera3D" type="Camera3D" parent="CinemaCam/Path3D/PathFollow3D"] transform = Transform3D(0.377958, -0.631677, 0.676854, -0.157445, 0.676581, 0.71934, -0.912337, -0.378447, 0.156264, 0, 0, 0) cull_mask = 1 +current = true [node name="Path3D2" type="Path3D" parent="CinemaCam"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 5.63136, 4.35346, 7.28324) @@ -402,16 +391,16 @@ transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1) [node name="Enemies" type="Node" parent="."] +[node name="Corpses" type="Node" parent="."] + [node name="ShopStand" parent="." instance=ExtResource("19_h6brl")] transform = Transform3D(0.675552, 0, -0.737313, 0, 1, 0, 0.737313, 0, 0.675552, 27.7723, 0.5, -9.72493) -[node name="Corpses" type="Node3D" parent="."] - [node name="Killbox" type="Area3D" parent="." node_paths=PackedStringArray("level")] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -4.77224, 0, 0) collision_mask = 2 script = ExtResource("26_tuncf") -level = NodePath("..") +level = NodePath("") [node name="CollisionShape3D" type="CollisionShape3D" parent="Killbox"] transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0668106, -6.8471, 0.829394) diff --git a/mat1.tres b/Worlds/GreenPlanet/Levels/Bridge/mat1.tres similarity index 100% rename from mat1.tres rename to Worlds/GreenPlanet/Levels/Bridge/mat1.tres diff --git a/mat13.tres b/Worlds/GreenPlanet/Levels/Bridge/mat13.tres similarity index 100% rename from mat13.tres rename to Worlds/GreenPlanet/Levels/Bridge/mat13.tres diff --git a/mat2.tres b/Worlds/GreenPlanet/Levels/Bridge/mat2.tres similarity index 100% rename from mat2.tres rename to Worlds/GreenPlanet/Levels/Bridge/mat2.tres diff --git a/foliage.gdshader b/foliage.gdshader deleted file mode 100644 index d5fa633..0000000 --- a/foliage.gdshader +++ /dev/null @@ -1,139 +0,0 @@ -shader_type spatial; -render_mode depth_draw_opaque, specular_schlick_ggx, depth_prepass_alpha ; -//render_mode blend_mix, cull_disabled, depth_draw_opaque, specular_disabled; - -uniform vec4 TopColor : source_color = vec4(0.24, 0.47, 0.27, 1.0); -uniform vec4 BottomColor : source_color = vec4(0.13, 0.33, 0.25, 1.0); -uniform sampler2D Alpha; -uniform vec4 FresnelColor : source_color = vec4(0.58, 0.65, 0.33, 1.0); - -uniform float WindScale : hint_range(1.0, 20.0) = 1.0; -uniform float WindSpeed : hint_range(0.0, 20.0) = 4.0; -uniform float WindStrength : hint_range(1.0, 20.0) = 5.0; -uniform float WindDensity : hint_range(1.0, 20.0) = 5.0; -uniform float ClampTop : hint_range(0.0, 1.0) = 1.0; -uniform float ClampBtm : hint_range(-1.0, 0.0) = 0.0; -uniform float MeshScale : hint_range(-5.0, 5.0) = -0.333; -uniform float ColorRamp : hint_range(0.05, 5.0) = 0.3; - -uniform float FaceRoationVariation : hint_range(-3.0, 3.0) = 1.0; - -uniform float FresnelStrength : hint_range(-2.0, 2.0) = 0.5; -uniform float FresnelBlend : hint_range(-1.0, 1.0) = 1.0; -uniform bool DeactivateGlobalVariation; -// Uniforms for wiggling -uniform sampler2D WiggleNoise : hint_default_black; -uniform float WiggleFrequency = 3.0; -uniform float WiggleStrength = 0.1; -uniform float WiggleSpeed = 1.0; -uniform float WiggleScale = 3.0; - -uniform float DistanceScale : hint_range(0.0, 5.0) = 0.5; -uniform float DistanceStart = 0; -uniform float DistanceScaleRange = 70; - -vec2 rotateUV(vec2 uv, float rotation, vec2 mid) -{ - float cosAngle = cos(rotation); - float sinAngle = sin(rotation); - return vec2( - cosAngle * (uv.x - mid.x) + sinAngle * (uv.y - mid.y) + mid.x, - cosAngle * (uv.y - mid.y) - sinAngle * (uv.x - mid.x) + mid.y - ); -} - -varying vec3 obj_vertex; -void vertex() -{ - float distanceScale = 1.0; - vec3 world_pos = (MODEL_MATRIX * vec4(VERTEX, 1.0)).xyz; //Generates world coordinates for vertecies - vec3 distance_vector = world_pos - (INV_VIEW_MATRIX * vec4(0.0, 0.0, 0.0, 1.0)).xyz; - float square_distance = distance_vector.x * distance_vector.x + distance_vector.y * distance_vector.y + distance_vector.z * distance_vector.z; - float square_end = (DistanceScaleRange + DistanceStart) * (DistanceScaleRange + DistanceStart); - float square_start = DistanceStart * DistanceStart; - float square_range = square_end - square_start; - - float distance_influence = clamp((square_distance - square_start) / square_range, 0.0, 1.0); - //Camera-Orientation based on https://www.youtube.com/watch?v=iASMFba7GeI - vec3 orient_2d = vec3(1.0, 1.0, 0.0) - vec3(UV.x, UV.y, 0.0); - orient_2d *= 2.0; - orient_2d -= vec3(1.0, 1.0, 0.0); - orient_2d *= -1.0; - orient_2d *= MeshScale; - orient_2d *= (1.0 + distance_influence * DistanceScale); - - //random tilt - float angle = 6.248 * UV2.x * FaceRoationVariation; - float cos_ang = cos(angle); - float sin_ang = sin(angle); - mat3 rotation = mat3(vec3(cos_ang, -sin_ang, 0.0),vec3(sin_ang, cos_ang, 0.0),vec3(0.0, 0.0, 0.0)); - - orient_2d *= rotation; - - vec3 oriented_offset = reflect((INV_VIEW_MATRIX * vec4(orient_2d, 0.0)).xyz,INV_VIEW_MATRIX[0].xyz); - //vec3 oriented_offset = (INV_VIEW_MATRIX * vec4(orient_2d, 0.0)).xyz; - vec3 obj_oriented_offset = (vec4(oriented_offset, 0.0) * MODEL_MATRIX).xyz; - - //Wind-Effect - //adapted from: https://github.com/ruffiely/windshader_godot - float contribution = 1.0 * (1.0 - float(DeactivateGlobalVariation)); - vec3 world_pos_eff = world_pos * contribution; //Generates world coordinates for vertecies - // Removed using world_position due to dragging bug - float positional_influence = -VERTEX.x + VERTEX.z -world_pos_eff.x + world_pos_eff.z; - float offset = fract(positional_influence * (1.0 / WindScale) + (TIME * WindScale/1000.0)); //Generates linear curve that slides along vertecies in world space - offset = min(1.0 - offset, offset); //Makes generated curve a smooth gradient - offset = (1.0 - offset) * offset * 2.0; //Smoothes gradient further - - float t = TIME + sin(TIME + offset + cos(TIME + offset * WindStrength * 2.0) * WindStrength); //Generates noise in world space value - - //float mask = fract(v.y * wind_density) * v.y; //Generates vertical mask, so leaves on top move further than leaves on bottom - //mask = clamp(mask, 0.0, 1.0); //Clamps mask - - float mask = clamp(VERTEX.y* WindDensity, 0.0, 1.0) * (ClampTop - ClampBtm) + ClampBtm; - - - float si = sin(t) / 20.0 * WindStrength * offset; //Generates clamped noise, adds strength, applies gradient mask - float csi = cos(t)/ 20.0 * WindStrength * offset; //Generates clamped noise with offset, adds strength, applies gradient mask - - vec3 wind_offset = vec3(VERTEX.x * si * mask, VERTEX.y * si * mask, VERTEX.z * csi * mask); - - float col = VERTEX.y * ColorRamp; - COLOR = vec4(col, positional_influence, distance_influence, 1.0); - VERTEX += obj_oriented_offset + wind_offset; - - obj_vertex = VERTEX; -} - -void fragment() -{ - float rate_col1 = clamp(COLOR.r,0.0, 1.0); - float rate_col2 = 1.0 - rate_col1; - - float fresnel = pow(1.0 - clamp(dot(NORMAL, VIEW), 0.0, 1.0), 3.0); - float fresnel_rate = clamp(rate_col1,0.1,1); - - vec3 albedo = TopColor.rgb* rate_col1 + BottomColor.rgb * rate_col2; - - vec3 fres_col = albedo *(1.0 - FresnelStrength); - fres_col += FresnelColor.rgb * FresnelStrength; - fres_col *= fresnel; - fres_col *= fresnel_rate; - fres_col *= FresnelBlend; - //fres_col *= (1.0 - COLOR.b); - - vec2 wiggle_uv = normalize(obj_vertex.xz) / WiggleScale; - float wiggle = texture(WiggleNoise, wiggle_uv + TIME * WiggleSpeed).r; - float wiggle_final_strength = wiggle * WiggleStrength; - wiggle_final_strength *= clamp(sin(TIME * WiggleFrequency + COLOR.g * 0.2), 0.0, 1.0); - vec2 uv = UV; - uv = rotateUV(uv, wiggle_final_strength, vec2(0.5)); - uv = clamp(uv, 0.0, 1.0); - vec3 tex = texture(Alpha, uv.xy).rgb; - float x = COLOR.b; - float alpha = clamp(tex.r + tex.g * 2.0 * COLOR.b ,0.0, 1.0); - alpha = clamp((clamp(tex.g * 1.0 , 1.0 - x, 1.0) - (1.0 - x)) * 10.0 + tex.r, 0.0, 1.0); - //albedo = vec3(COLOR.b,COLOR.b,COLOR.b); - ALBEDO = albedo; - ALPHA = alpha; - EMISSION = fres_col; -} \ No newline at end of file diff --git a/foliage/foliage.material b/foliage/foliage.material index 591ddffe09fcf4db93eb562123c817d7a1e04113..b34130fa6985aea079f47f20c290826a5660c92c 100644 GIT binary patch literal 689 zcmWFvc6MfBU|?VnU|_IeV_=xc#K54jRsU~-4Qs6kLzrx)E5qc;d}>`x3;Gv%F`vDFH0|#iv-M&> z&#w5odPU~$f7}19w())`vGGy6$I*JmexB_3x|MrBc7BOJ_@8l(eW7!_-@)HITt)Vs z>{FP^(LUAo1gHM_HS+xte%9yww#Dz_UbNZ8x=&F%x@6a!H&xs7ZcUWWoNU0Rx@}9W zd(EQ2W>53?a~GU@-DB*MelqxXnfSHMjUP7_`CSs5?$63SzyGa>IeWio?2E2l#<8=+ zIC@07Cf7WUnw2cE{A9AN9M87b@(-pT`Za6v9M2zXYvw=6UdZ9Jd~?w(b!pYhrB}qx z@yS~99V=04p24`VXG*DqYEXcm+#j|5&1@3PZ&bL~&7Liye4}@kjJ#a0u%U~P0>{Ck zJq<4%V}t&yOGJE}(YSGjPlP9LACp#SNA}jD!a|oD39J4qO>}&A>)@edt&}=rO|B?3|Ed1%8_v+Gz4_o5o8Fm!>+LC+5 zx~X3Kya&6r?bQ;c8en zeG$Xfy=qZYa@69_74N;Zt$gv`?Mt@{YTs0CslD9u<>a=Kg@;>G=dxZtQ^50UF+0N> z=aU`NQ>HQbFa$9~Fvx~4yLIwyJ=6ASE6dWO{_$I$Z7n_Iwe{9)mCAA*_j{Y>Uww8} zX}{#wx=_>H>;LEd*E%0&?Xl*EW6($WCleFjp4Q)L?l<$F`VadBpV<}Do?Mt7{=qIU zs5O7nVh`0riBI{94xKiBeOz_g<-W~R-cEnl^}^<2-{TXf)RyY0@4mNocG;8kTPi({ zow~W#g_dXBNw{>jdijgbR*z*aRx(}PC%c|aE&b`7CAxZw+~Q7(x3%B#DR>{c5L%l4 z>x+F0lLwzS+iTaJ+r8PDeTj241URM~Ec?s+CnzGmc#<*a{;BUL*XXJ^{-_D_`<${m zW!JP@hh8pJK7Me9|C7aMrqsHq1qJxY{ZZTB%qGG7hFc`Y%uLf`gN%-hzqL!3;*3~p; zE#v()!6#bWefI57*-(DVRe6eJFH|2%oJ*5@k@aJ7wKD&b|CzyD-wrQRt$A=y ziQ)dO_&X>6zO|g3^Sw~(L)}Z2xEKchwQuH{_^=eny$&^7wBylI>-aCw- G6bk?jg+THE diff --git a/foliage/foliage.material.depren b/foliage/foliage.material.depren new file mode 100644 index 0000000000000000000000000000000000000000..1e3dd6ccd743f8ecf4727b8d138fd39a987a4e7d GIT binary patch literal 695 zcmWFvc6MfBU|?VnU|_IeV_=xi#K54jRsU~-4eMGFhH0@`ZVZzr^QAP0Z>?bQ;c8en zeG$Xf?P^g|a@69_74N;Zt$gv`?Mt@{YTs0CslD9u<>a=Kg@;>G=dxZtQ^50UF+0N> z=aU`NQ>HQbFa$9~F!*epeEUC3o^J5lb6ft%7tP{+-7+<6tGVZ=cM*MiQteltUF}+D zob`8A)~$8_ZU2YPTU$0E;$!oYNA@T9A52Vqds=_1x!=rx>Obrkd}f#V^@;1=ao<%R ze9J^ux>&6FDFR6e~Da{Z^q&6P}`Rry||HZFaRvX%dWTidPIFbu+H8oFP)EZQUyC%gg^O ziZ~QS7)9tO)jW=xl`NsomEyR7XWMJ}2h$Jznl*Wj=a02D^PglZavplVxoDPpwCd%p zSH%4IWi9!R)hM;kFkF0QO0A1pP=KG@AGQ6>Y!b|GxJ6>j%rreV$mqxjoM-EjROaC8 zNU$(Ss0o;U^*<+DUe%QY5dj)&T9z($SgrbK*UrMiQnxD!YyWF4bbR*cAk*=siwYmr zpR8w;J3s$Y=EcrCANEMi$XZdj*D)<4<&cLX*QKNdOcOOXTM8){2YM}>p_Y_-*3~p; zEn|F}b;==QwRlbQ8}rNd|HyHh_Ps#0)`h|OX3Qb|8Mn*)KU^r&&VQv?ld)wIfBQ}i zg)K)O%TBCcoZfP*bJ~XXNR5|fHkBc}Q|#ZcPE$JlxNw8p(y2*1N>}NvS+!sPl6bwJ zP|#)P#1}i(-B2i1etq_g!~4xeiU~|cCZSXP?W&hbU)0J_)-*in+p}=afzbD;HQS53J_MPlUQUmgsPlfsywKbWpXbINw06v{&DwK^ H5tL*BS2aU` literal 0 HcmV?d00001 diff --git a/main.tscn b/main.tscn index 18d519d..5d00c4b 100644 --- a/main.tscn +++ b/main.tscn @@ -1,9 +1,9 @@ [gd_scene load_steps=8 format=3 uid="uid://d2k8y13qfvch0"] -[ext_resource type="Shader" uid="uid://diugvmtoos1ti" path="res://pixeldither.gdshader" id="2_1bvp3"] +[ext_resource type="Shader" uid="uid://diugvmtoos1ti" path="res://Shaders/pixeldither.gdshader" id="2_1bvp3"] [ext_resource type="Script" uid="uid://cx1xj7esl03ui" path="res://main.gd" id="2_h2yge"] [ext_resource type="Texture2D" uid="uid://6frn8lcwwehv" path="res://Assets/TextureAtlases/puppyfruit.png" id="2_lquwl"] -[ext_resource type="Script" uid="uid://p1ugbcmjuwxg" path="res://gif_animation.gd" id="3_7mycd"] +[ext_resource type="Script" uid="uid://p1ugbcmjuwxg" path="res://Scripts/boot_logo.gd" id="3_7mycd"] [ext_resource type="Texture2D" uid="uid://bpo5fu2a26mr7" path="res://blk-nx64-1x.png" id="3_h2yge"] [sub_resource type="AtlasTexture" id="AtlasTexture_272bh"] diff --git a/textmesh.res b/textmesh.res deleted file mode 100644 index 88b71d68111b45b7d584a9b4dcb4c67ddfb77b0a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12435 zcmWFv4svFI0u}}a1`uXrU|`^4U|?`8DoU*MO)buV$}=!9GcYiGn!CEz^wn8ExF8XX zQU(SF2?hp+qSWI2(xT+l_?-OY#GLq&{P^PJ)Vx#%K4iJP#N1Q{0kBA3N@`JjK~ZLY zQD#Xc*iCt<6(#WniN(bXybKHsB}IvO#RZ8)sd>qj4BQM13`seuc`5O^`6;Pj)ybtf zIS?Mmyp+^}l8pG2qQr8D7|7PV{CJ3PNosKk*v#UL#FWgubchm=B`KL{X{E)f5CM>$ z;)2xV(wxL1h=>>i14Bw?abi+VYJ6gDQf6viNqkObdPWHY50Xq;ema9R0|P@@YEemQ zMSOC8PJU55$kfE*_{5x~)RcS%QFQ6d;`rjC^dzvWAZj4`82A|&7@z_rsTC!qMX3x@ z7((%B`Jj*nn;?QIn_HZc#=yzIz>u3-l9-c|nam)B#EFObkwFky6lR+w7Qy)BjKsXW z)EscY7v-0xXXK?87lTcO^WtF!fSijV3O4~{XKHR{adBpTUVLgEC}>l_ZiNYggA&Gx zPt8j$O0SI1EzK#(EXc`BEdpB#m(DLpElMoOF9N42glJxTX_*n&dvGzB>pp)IT%#Y89geTb8d{{igV-)1ej8ssr z$W1IjF&!Za30F`tfe=ecO)ZEoNGwXs$w{nW5NBXuK**)#WERAiB<7{3=9Pd;7c{A) zOi28Ig9#xAb2m1_pm73nLvd+RacNOnd~tGONl9uE+|8h*k1khSQk0sPUXlUMg&30A znR$?s0-Lcg*QhZtFre!Mmu|V4B_)Y@$*FJ$s1Q^ME?gK0n+UU;u!-Ozl7XVVDN3p^PNjWGPmX;xjU|3-kk8TAh*kD1KmYGwMS_CctVM0Zz1*wUU zObDwAi&B$QGs{vzW~bzrL+Sxg)tX-ps`m2>5|cqyI>_9l%$%I0{KO(?y$z}c5klFZ z0ss=>tPBhc=|%bF;CdCrh)>MTFU^A#NNJfBsVVWrnN^UI8C0_tf~6!gIVUx~q$n{nrx;wm6cpuGWaeg;RK}+zrXX@1DA3TPQZkFdITKumfU48@ zg3OB4ocJP8kpxafV8Q&-lAO%ERER@Bi58|0Vgb0V0!p-K!kKyTFcENV2jf6>B~~D$ z*+C^ja#3bM3Aj`TXFE_a3kr?+3{a&5vNj%)n2R$K3sU1jZLDH&O&t#^FWoVB<7_g7Nz(mmZTPC zCgvEs#OEfPCYLkp1*KGIQxK*Y-pGv4D9-AB$D3=CV!Abg&V|Nq%q7#KkGk7|heEoBh> zpUN2+epExu0ns4-r*epT5DikFnF}!=WL{=20|ST;(*HHR?juVN1H-Rkh9)M1MxX$)O`f02hkvNq>tBq1gY;`T=(&@1p`B241|_G z{_hV+93&4i7bGuzoPnWt@xMPHbs%|=I7mHA97I31`1c1Q{_hWnzw*_;KNG<2f|v)= zzw#Bxo_~Kpbf_pqzAy%2E{G4Z7o;v!lz|~H=HDL>4KfELzVcP;0|>wA0f^tbxCzRy zk%5VW>|gn+=>f?6m9J`KAnG9Ug)tEIp`s9T3S%JRt5$`AqL^XTDoD5J|9=So|9=P{ zWG2Xbka$Qa0|Q7LM1$-AiGyg6Js|r)YC#yp2Vs~zNGvoIVlD#%gbodbm=971!XULE z3=w5u0I@;hAiW?A5(n7}(hs6xa-pISe}ZU`9uNkp4;6)k6G$A!htVK6gTz5JC|p1^ zC_F(lC|p2v@8TL65DoGdhz9w8L*+qX0KyxI4Ey|+Vs%8nGCK-K$*4xnx#Psz$G52iZU?{ z-p{Z^d6&6y@O~5H%k~{&o9sa}ND-)bC@q6lzD6MX&@f05s8GwyOG&MWhnE5xAaMpp z1||k(1}1P(#KgeDz|6qH04knX85kMZ7#JB?8Q8$(7#jmSScHLrgMpoajR92hurP3f zi*OJL;&U@_F>o?)GjKAnFmN;QFmN$&Gq5o5GVn0)F>o<(FmN&OF>o{RGw?8QGw_0G zeg-}U0R~gFJ%@gD`^__ zF_~@MQ1>i}*2kGx#z1F!(Zf zGx#&OGPpAMGq^JZfK~W0_%Z}A1Tc6q1Ty$B1TlCscryes_%j4E_%Q@91TzFM1Tus$ z1TuIsgfIj%1Tt7LgfMtASTck#STO`MgfLh#_%Vbs1Tlm%_%Q@C1T$DNgfWCMSTg7^ zgfj#)gfWCN1T%y)L@&7$O*S7_=B786v=>7K0{36j((RLj*%4gC;{XLnK2q zLli?Kg9bx1gC>IpLkvSSg9d{sn2u$LVu)dgWr$`lWr$;lVTfUfV~AxiWr$~pV{l=J z2eVul5*Xqc5*QL0;uzu?5*b_=k{A*gk{A*h5*S<<+!>M>;usPck{R3?QW%mLk{D7L z5*geXQW;Vh{25Xi+!+!XQW(-05*gAMk{MDN(il=0(ixH&(il=1(izei{29{0tT={b zh9HJ?27iV)hIEDuh9HIvhIEEFh75*ShEOm+mLY>7lOdEL3oMq&kj)Uq5X+Fwkin3{ zkjaq2kj0S0kj;?Eki(G05Xz9tkj0S8ki!tlkO!u78S)rH8NwOz7_u3181fl%81fkM z8NwOz8S)sS7_!0aD29A+2?%OQL5fgBVLgQj(#iuBrJyD)SRtrDhBx_&7$BpTpfVYI zlMkd9)DQ&GpiW*|XSh5pose@2}}0S3&*;@geRAxeD@kVNA$X zh&w~BKDGdb2a^><9g`KP*;^O`;)9xxOjZzgF9!SjQ~Bbn5PvO(`g`$JP_wl#=Fd@x zy&xK-@6S<)Js>`)$@SkJ)Fdg4fzY9%|Ls9dkC0FZ&A{;A9@MM>(IEeT)It0MQQy1x zzdeW#5(mkH_#nT6%mFofK>9$*8bpJ{LFzz!koh2eF!dlBq<`frh)8avz8fayN_ysRxB$@8VT2LE$HT97Kbf>8oCX!Vx46ipQ0& z@-;!ty#N36H6hKqd`(F6FJBX+t}y036C}RgGkr}5btm34fy{es@tz4J-@6zh&eHRq z3Do=qrCUg|ew7x8p0F51gPP|c8q~am&=7T?<|>E}YMz5=P_q_7hl+w|P!|M3gYp3= zJ%YL!Ap1cyC|*G{s5=3oq5jnZxeKHoM1$-BiG%nM|02Q{((L_j4-0otx(9_Pq&oqM zUyyr2@}TYuNFT@_|LsBP8>9|oFNg;D8$^TL_t@h9evtbhG$_6O-w$#phz~Ls$G9SbT(U9=}a}<<*IA{Dh3JMqLK1!-vVzM$o(@)UxyRNL_y8on zr7Z9PNd1p$2;ZwS@Byei{8S$J0Hi-NH}CgXE`9x_=rZ4&sB< zf%p*f3Z8)EGjj``faE`w7d(O3SMUTj;7L ze@$QT2BbeT*ZDn2-`Di^4z##3AXtRU719kT@hCv}%Lg3z7%9W5QxrB}jg9 zRRXztIAU>oF2a%9&HHZaL528Wt1*rqEAvCC)j41CR{$gN&;ciC@+((~@q*&Dcd;}tC>~b6+QXzyJRQeIeoS$p=(!uY4u#>v-X@JTm@u>YFG&91^-}6$-w(N-G2pUU7V`PtDOS z?i`2Bo#vkM5B|UZzx{uEFbQHIFpPyJw+aqcLRlbs<*I*k7?P2(^+{zNWQ;2NZw>>) z|9X02maV_Mkn#B|W_rk2uQ`1mHXIVV5*ofR8ZErh!XF-zpm5s{YB!?9PU!!7${@&g zgiAuvY)7>Vr1oRgdnTi*cxF&&JCxe7{eQ&hMh!gs_&H@{eB{v~ZDg$WaIyh1&OSfc z02v$HIj4+_!*7@vB4e@rU!(mFen{=!%N}ZfNH^=;PLrCPU7IRob{{X1+wr;K?QDjb zKGQO1=`8p-U2w|xS(`IXZ{<$TTYoese%H2yb88NqjF{_}p#yk7?@9lrjr|NmcgnaO%& zT=4fv4>B%kX8rrKdD0({+S2yPKcBZr{e98C4$RN*`}Ffk&Ec1}wbpM0s+ZjXsX>kt z5WA^4kwd6CoSnO^fDhyzPzN7Wh+_;7`!GUA96+POi6tdPnMtK3sfa;c16BrxgPVQU z`E8!G`NMkC4Q5*pt$!=7ug|2VXT_woz(iT=fSk60p#EF&`S#idd+e39_yX+rvD z@1}idf2*MV9ye{Xt#4OO+nKcb;O3;&iaXw}1erH&r_VaY9f#I~%==&cfBpZ`|4aW@ z|6lsQ^#6JT#?P&fISq0Q7!7hBapnabas^?7oX4D>S|4$4nSaRjQ|lquE%QtL401~S zKDBlm`Iyac?r`rm;tQDJeAzC?K3nsXdxe$ahuYqypSR3k`nk4O@xzw+oVzA%2HBgw z*K`BOZp9DJE0%ti?NNLl*1txWMlTiMdj0VzM;@dd;` zU#TDeT*~*yyEgN=aSonvT7W@L zXJlSbRdYT6-!@0hs%A&czisvW`YS)R)-2G^saf!;Rd3~%`Fu}7_*1L?N`oBzm3cvY zPYrVTp5_G|eEX^O;9G;7|IhzF{{Q~}>;LcnKmPyx|LcSU=l-$Z-1K$EiA`Va9-jO6 zVg2+s8arwpe^{?|LSu*P#e@T&x6U}hzu)fR=dJ8F`S-8?sCA07;)d z>p<#3YC&loq%M7LB{=PZ^!+dXzy5#j|E2$P|F8dF{D0~H)&H0NU;2Oj|JDE3gIV4G z*Z*(*zx03W|Mma7|1bSN`TzR=z5kc~@BP32|K$Hm|Ihxv{{K`kz4ZUo|LgxZ|6l*V z_W#oV&HtDFul>LN|Kk7a|Ihuu^#5Eidujah10p}(g=qbF_k<_@xu>oHqpWnVXr+EA zXOD3@FQ>Qx<27d|R=$A9k2h@ZeBleY^W}zZ;F&xKmLFB|7-JA z`fhU<&C;K{h|AY})pFhGXWX^_9eKp{??{lw^fUW}4wgRBnw%(Zd$82c|A)~J=C|So zjBmx`Wv(ueu-(}ANNZ!CpMPMFxUEvfBQ2#0KmTAaN6o__kzB!Ekz9vE95p}QaMwiXQS)nZB-htuN6pl{NG`K#N6ljekzB_L z95v0VBf0+H{{Q;_<^PZWU;h94|Ly;eQ}61#Z9C2v@c#+7@4q9PJpSMQ|M36i|2O|% z{{Qg*?f*CD9opmp^82&>d;y@a_;GH((8Oy&8WXQQ;`(vUUHkvt|2O|X{r~X))BiXB z-~Ipa|MUMh|G)qL@c;Y&H~&BX|M36M{}2Cv{D1TRM=<+l>fPnKAiMrQnWYc1`~T1X zum6Ai|M>sM|F8f5{QnqK)`BpdX4^pH!Hf(n;F&dc1{Ma;%o=Du4K$m^3Z78|k)XLW z9tK_pJ_a5J$jq1^bS6xYK@dCxCdeSlAi^L9o&y8Tdx?N&w?MO6(hQQ|87VpNT$DU` z76?Qtg6D~p7-YdSQnCy(;29~D)4U@&8_WH4v20?+7xW_fHGY#3}A>=>-T zGdxz{SsN<`2L@~KJPwHE1ZIO~aU2+2z_T|l3=ZJ=8b=0K21oFGjT?hIg9n2vgFAyO zg9n2%g9n2<18APc3p{({#o)r=!Qjo{1)h&_Vekge%z)--K=U=AIT+9!jX#4QgFkp) z1~m5qnwJS=aAELa2x16g@L>pMaA62yaAF7o&%1!=5C$iP5Qb2OF!20I7(*mOI71Xe zG(!w{o*^1M`;h>i>xc)>d4T3X5*U&hQoyqs>EKz84Djp*Xr3a4A%!7}A(bJMAq&jP z2D3qP6QEfN&|F0>LpDPmcfkP{2^kP{>fiP|8roP{L5oP|8rjP{~lm zP{B~mP{~lkP{B~eP|HxkP{UBmP{&ZgP|r}yP{UBeP{q)|P|r}q(7@2ZP{q*5P|wi7 z(8SQd(8$mXrkfdB7+M+H7+M(G8Cn@S7&;lc7`hoc7`hmG7&;ib8G0Cc89Ep`82T7G z8G0G|z^r~Sdjdlr!vuzYFgcN-pJ5Wi1cqLQNeq)2CNNB4n94AXVG6@^hN%oQ7-lle zVwk}&n_(uy9EKSTvl!+u%wm|!Fppsln4HTnpJ6`30)}}E^BER0EMQp3un0^pW?00q zgkcfGVumFQiy4+OEMr*Cu!3P3!%Bwb467JcGpu1)#juuPHN!fF^$Z&r)-h~kSkJJD zVKc)PhD{7x88$O)W7y8HgJB!PPKNCayBKye>|xl&u$N&s!#;-n3f_;TXe7hT{yU7)~>sVK~KbmfkPLTZZq6rxW#an;WooPhWiW;816AVWVp}ph~Y8A z6NX0&PZ=IFJY#qQCLc3AXL!NzlHnD@3x?MWFB#r2yk&UD@P^?%!&`~PWmIESVN_>SWz=BQWYl8R zVAN*RWYl5QWz=KTVbo{TWi((kWHe$lU^HelWHezkWi(?nVKiqnWwc void: - $SpawnRoom/door.queue_free() - fade_move_hint() - - -func _ready() -> void: - $HBoxContainer/VBoxContainer/RichTextLabel.text = parse_action_tag($HBoxContainer/VBoxContainer/RichTextLabel.text) - $HBoxContainer/VBoxContainer/RichTextLabel2.text = parse_action_tag($HBoxContainer/VBoxContainer/RichTextLabel2.text) - - -func parse_action_tag(text: String) -> String: - var string_array: PackedStringArray = text.split("#") - var output: Array[String] = [] - if string_array.size() > 1: - for x: int in range(1, string_array.size() - 1): - for i: int in InputMap.action_get_events(string_array[x]).size(): - var event: InputEvent = InputMap.action_get_events(string_array[x])[i] - if InputMap.action_get_events(string_array[x]).size() > 1: - var last: bool = true if i == InputMap.action_get_events(string_array[x]).size() - 1 else false - var first: bool = true if i == 0 else false - if last: - output.append(" or ") - elif !first: - output.append(", ") - if event is InputEventKey: - output.append("[img=top,50]%s[/img]" % KeyIconMap.keys[str(event.physical_keycode)]) - if event is InputEventMouseButton: - output.append("[img=top,50]%s[/img]" % KeyIconMap.mouse_buttons[str(event.button_index)]) - #string_array[string_array.size() - 1] = "".join(output) - text = "".join(output) - return text - - -func fade_move_hint() -> void: - if move_hint_onscreen: - pass - var tween: Tween = create_tween() - tween.tween_property($HBoxContainer, "modulate", Color(1.0, 1.0, 1.0, 0.0), 2.0) diff --git a/tutorial.gd.uid b/tutorial.gd.uid deleted file mode 100644 index 7dfc743..0000000 --- a/tutorial.gd.uid +++ /dev/null @@ -1 +0,0 @@ -uid://bc7buekur5p5i diff --git a/tutorial.tscn b/tutorial.tscn deleted file mode 100644 index ed85afd..0000000 --- a/tutorial.tscn +++ /dev/null @@ -1,252 +0,0 @@ -[gd_scene load_steps=12 format=3 uid="uid://b1l8c02m2d58d"] - -[ext_resource type="Script" uid="uid://bc7buekur5p5i" path="res://tutorial.gd" id="1_5mrt3"] -[ext_resource type="Material" uid="uid://45bvudgvpre2" path="res://prototype.tres" id="1_yb1ct"] -[ext_resource type="Script" uid="uid://dkfswql8ui0bt" path="res://Scripts/interact_button.gd" id="2_5mrt3"] -[ext_resource type="PackedScene" uid="uid://dxgxbtf68lcv5" path="res://PCs/hero.tscn" id="2_ehuit"] -[ext_resource type="Texture2D" uid="uid://c2e1jacw7iua6" path="res://UI/Keybinding/KennyControllerPrompts/Mouse/mouse_move.png" id="5_rwowx"] - -[sub_resource type="BoxShape3D" id="BoxShape3D_ehuit"] -size = Vector3(39, 1, 39) - -[sub_resource type="BoxShape3D" id="BoxShape3D_5mrt3"] -size = Vector3(3, 4, 1) - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_yb1ct"] -transparency = 1 -albedo_color = Color(0.382817, 0.681764, 0.962017, 0.768) - -[sub_resource type="BoxShape3D" id="BoxShape3D_yb1ct"] -size = Vector3(0.5, 4, 2.5) - -[sub_resource type="SphereShape3D" id="SphereShape3D_rwowx"] -radius = 0.21 - -[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_hu44a"] -albedo_color = Color(0.679447, 0.144964, 0.137269, 1) - -[node name="Tutorial" type="Node3D"] -script = ExtResource("1_5mrt3") - -[node name="Floor" type="StaticBody3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, -0.5, 0) - -[node name="CSGBox3D" type="CSGBox3D" parent="Floor"] -size = Vector3(39, 1, 39) -material = ExtResource("1_yb1ct") - -[node name="CollisionShape3D" type="CollisionShape3D" parent="Floor"] -shape = SubResource("BoxShape3D_ehuit") - -[node name="Floor2" type="StaticBody3D" parent="."] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 4.5, 0) - -[node name="CSGBox3D" type="CSGBox3D" parent="Floor2"] -size = Vector3(39, 1, 39) -material = ExtResource("1_yb1ct") - -[node name="CollisionShape3D" type="CollisionShape3D" parent="Floor2"] -shape = SubResource("BoxShape3D_ehuit") - -[node name="SpawnRoom" type="Node3D" parent="."] - -[node name="StaticBody3D" type="StaticBody3D" parent="SpawnRoom"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -18, 0, 19) - -[node name="CSGBox3D" type="CSGBox3D" parent="SpawnRoom/StaticBody3D"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0) -size = Vector3(3, 4, 1) -material = ExtResource("1_yb1ct") - -[node name="CollisionShape3D" type="CollisionShape3D" parent="SpawnRoom/StaticBody3D"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0) -shape = SubResource("BoxShape3D_5mrt3") - -[node name="StaticBody3D2" type="StaticBody3D" parent="SpawnRoom"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -15, 0, 19) - -[node name="CSGBox3D" type="CSGBox3D" parent="SpawnRoom/StaticBody3D2"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0) -size = Vector3(3, 4, 1) -material = ExtResource("1_yb1ct") - -[node name="CollisionShape3D" type="CollisionShape3D" parent="SpawnRoom/StaticBody3D2"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0) -shape = SubResource("BoxShape3D_5mrt3") - -[node name="StaticBody3D3" type="StaticBody3D" parent="SpawnRoom"] -transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -19, 0, 17) - -[node name="CSGBox3D" type="CSGBox3D" parent="SpawnRoom/StaticBody3D3"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0) -size = Vector3(3, 4, 1) -material = ExtResource("1_yb1ct") - -[node name="CollisionShape3D" type="CollisionShape3D" parent="SpawnRoom/StaticBody3D3"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0) -shape = SubResource("BoxShape3D_5mrt3") - -[node name="StaticBody3D4" type="StaticBody3D" parent="SpawnRoom"] -transform = Transform3D(-4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, -19, 0, 14) - -[node name="CSGBox3D" type="CSGBox3D" parent="SpawnRoom/StaticBody3D4"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0) -size = Vector3(3, 4, 1) -material = ExtResource("1_yb1ct") - -[node name="CollisionShape3D" type="CollisionShape3D" parent="SpawnRoom/StaticBody3D4"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0) -shape = SubResource("BoxShape3D_5mrt3") - -[node name="StaticBody3D5" type="StaticBody3D" parent="SpawnRoom"] -transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -18, 0, 12) - -[node name="CSGBox3D" type="CSGBox3D" parent="SpawnRoom/StaticBody3D5"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0) -size = Vector3(3, 4, 1) -material = ExtResource("1_yb1ct") - -[node name="CollisionShape3D" type="CollisionShape3D" parent="SpawnRoom/StaticBody3D5"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0) -shape = SubResource("BoxShape3D_5mrt3") - -[node name="StaticBody3D6" type="StaticBody3D" parent="SpawnRoom"] -transform = Transform3D(-1, 0, 8.74228e-08, 0, 1, 0, -8.74228e-08, 0, -1, -15, 0, 12) - -[node name="CSGBox3D" type="CSGBox3D" parent="SpawnRoom/StaticBody3D6"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0) -size = Vector3(3, 4, 1) -material = ExtResource("1_yb1ct") - -[node name="CollisionShape3D" type="CollisionShape3D" parent="SpawnRoom/StaticBody3D6"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0) -shape = SubResource("BoxShape3D_5mrt3") - -[node name="StaticBody3D7" type="StaticBody3D" parent="SpawnRoom"] -transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -13, 0, 13) - -[node name="CSGBox3D" type="CSGBox3D" parent="SpawnRoom/StaticBody3D7"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0) -size = Vector3(3, 4, 1) -material = ExtResource("1_yb1ct") - -[node name="CollisionShape3D" type="CollisionShape3D" parent="SpawnRoom/StaticBody3D7"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0) -shape = SubResource("BoxShape3D_5mrt3") - -[node name="StaticBody3D8" type="StaticBody3D" parent="SpawnRoom"] -transform = Transform3D(1.31134e-07, 0, 1, 0, 1, 0, -1, 0, 1.31134e-07, -13, 0, 18) - -[node name="CSGBox3D" type="CSGBox3D" parent="SpawnRoom/StaticBody3D8"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0) -size = Vector3(3, 4, 1) -material = ExtResource("1_yb1ct") - -[node name="CollisionShape3D" type="CollisionShape3D" parent="SpawnRoom/StaticBody3D8"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0) -shape = SubResource("BoxShape3D_5mrt3") - -[node name="door" type="StaticBody3D" parent="SpawnRoom"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -12.9934, 2, 15.3436) - -[node name="CSGBox3D" type="CSGBox3D" parent="SpawnRoom/door"] -size = Vector3(0.5, 4, 2.5) -material = SubResource("StandardMaterial3D_yb1ct") - -[node name="CollisionShape3D" type="CollisionShape3D" parent="SpawnRoom/door"] -shape = SubResource("BoxShape3D_yb1ct") - -[node name="InteractButton" type="StaticBody3D" parent="SpawnRoom/door"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.489253, -0.88103, 1.49908) -collision_layer = 16 -script = ExtResource("2_5mrt3") -hover_text = "[center]#Interact# to open door" -metadata/_custom_type_script = "uid://dkfswql8ui0bt" - -[node name="CollisionShape3D" type="CollisionShape3D" parent="SpawnRoom/door/InteractButton"] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -0.0266008, 0, 0) -shape = SubResource("SphereShape3D_rwowx") - -[node name="CSGCylinder3D" type="CSGCylinder3D" parent="SpawnRoom/door/InteractButton"] -transform = Transform3D(-4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, 0, 0) -radius = 0.2 -height = 0.3 -sides = 16 -material = SubResource("StandardMaterial3D_hu44a") - -[node name="Hero" parent="." instance=ExtResource("2_ehuit")] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, -16.2082, 0.044471, 16.1349) - -[node name="HBoxContainer" type="HBoxContainer" parent="."] -anchors_preset = 4 -anchor_top = 0.5 -anchor_bottom = 0.5 -offset_top = -100.0 -offset_right = 490.0 -offset_bottom = 100.0 -grow_vertical = 2 - -[node name="VBoxContainer" type="VBoxContainer" parent="HBoxContainer"] -layout_mode = 2 -size_flags_horizontal = 3 -alignment = 1 - -[node name="Label2" type="Label" parent="HBoxContainer/VBoxContainer"] -layout_mode = 2 -text = "Use" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="RichTextLabel" type="RichTextLabel" parent="HBoxContainer/VBoxContainer"] -custom_minimum_size = Vector2(0, 50) -layout_mode = 2 -bbcode_enabled = true -text = "#Move Forward#" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="RichTextLabel2" type="RichTextLabel" parent="HBoxContainer/VBoxContainer"] -custom_minimum_size = Vector2(0, 50) -layout_mode = 2 -bbcode_enabled = true -text = "#Move Left##Move Backward##Move Right#" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="Label" type="Label" parent="HBoxContainer/VBoxContainer"] -layout_mode = 2 -text = "to walk" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="VBoxContainer2" type="VBoxContainer" parent="HBoxContainer"] -layout_mode = 2 -size_flags_horizontal = 3 -alignment = 1 - -[node name="Label2" type="Label" parent="HBoxContainer/VBoxContainer2"] -layout_mode = 2 -text = "Use" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="TextureRect" type="TextureRect" parent="HBoxContainer/VBoxContainer2"] -layout_mode = 2 -size_flags_vertical = 3 -texture = ExtResource("5_rwowx") -expand_mode = 1 -stretch_mode = 5 - -[node name="Label" type="Label" parent="HBoxContainer/VBoxContainer2"] -layout_mode = 2 -text = "to look" -horizontal_alignment = 1 -vertical_alignment = 1 - -[node name="Timer" type="Timer" parent="."] -wait_time = 4.0 -one_shot = true -autostart = true - -[connection signal="button_interacted" from="SpawnRoom/door/InteractButton" to="." method="_on_interact_button_button_interacted"] -[connection signal="timeout" from="Timer" to="." method="fade_move_hint"] diff --git a/visualized_path.tscn b/visualized_path.tscn deleted file mode 100644 index 1b231cd..0000000 --- a/visualized_path.tscn +++ /dev/null @@ -1,9 +0,0 @@ -[gd_scene load_steps=3 format=3 uid="uid://bi8f3vowymalg"] - -[ext_resource type="Script" uid="uid://cd500cyj1tdyw" path="res://Scripts/visualized_path.gd" id="1_kqywm"] - -[sub_resource type="Curve3D" id="Curve3D_suxqu"] - -[node name="VisualizedPath" type="Path3D"] -curve = SubResource("Curve3D_suxqu") -script = ExtResource("1_kqywm")