just reorganised files thats it
This commit is contained in:
@@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=14 format=4 uid="uid://dq8v5e11rvyi6"]
|
[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="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="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"]
|
[ext_resource type="Material" uid="uid://dq30v3hgyi4da" path="res://Classes/Engineer/mouse_hover_material.tres" id="5_2u312"]
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=12 format=4 uid="uid://bfxgtf1v1okat"]
|
[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="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="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"]
|
[ext_resource type="Texture2D" uid="uid://b0sl2tvwle1m7" path="res://Classes/Mage/scroll2_paper.png" id="4_aiko0"]
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[gd_resource type="ShaderMaterial" load_steps=3 format=3 uid="uid://dylmoyx1tasat"]
|
[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"]
|
[ext_resource type="Texture2D" uid="uid://d01y8kogfuayr" path="res://Enemies/Crystalisk/crystal_enemy.png" id="2_l5awy"]
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[gd_resource type="ShaderMaterial" load_steps=3 format=3 uid="uid://bo82o88d7vo1x"]
|
[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"]
|
[ext_resource type="Texture2D" uid="uid://wx4d2upch81n" path="res://Enemies/EyeDog/eyedog_eyedog_tex.png" id="2_j3hec"]
|
||||||
|
|
||||||
[resource]
|
[resource]
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name PathEditTool extends Node3D
|
class_name PathEditTool
|
||||||
|
extends Node3D
|
||||||
|
|
||||||
@export var hero: Hero
|
@export var hero: Hero
|
||||||
@export var inventory: Inventory
|
@export var inventory: Inventory
|
||||||
@@ -16,7 +17,6 @@ var ray_collider: Object
|
|||||||
var ray_point: Vector3
|
var ray_point: Vector3
|
||||||
var last_point: FlowNode
|
var last_point: FlowNode
|
||||||
var last_tower_base: TowerBase
|
var last_tower_base: TowerBase
|
||||||
|
|
||||||
var interact_key_held: bool = false
|
var interact_key_held: bool = false
|
||||||
var interacted_once: bool = false
|
var interacted_once: bool = false
|
||||||
var interact_held_time: float = 0.0
|
var interact_held_time: float = 0.0
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name Hero extends CharacterBody3D
|
class_name Hero
|
||||||
|
extends CharacterBody3D
|
||||||
|
|
||||||
signal ready_state_changed(state: bool)
|
signal ready_state_changed(state: bool)
|
||||||
|
|
||||||
@@ -39,13 +40,9 @@ var game_manager: GameManager
|
|||||||
var hovering_item: InteractButton = null
|
var hovering_item: InteractButton = null
|
||||||
var weapons_spawn_count: int = 0 #Used to prevent node name collisions for multiplayer
|
var weapons_spawn_count: int = 0 #Used to prevent node name collisions for multiplayer
|
||||||
var inventory_selected_index: int = 0
|
var inventory_selected_index: int = 0
|
||||||
#var equipped_card: Card
|
|
||||||
#var offhand_card: Card
|
|
||||||
var equipped_weapon: int = 0
|
var equipped_weapon: int = 0
|
||||||
var weapons: Array[Weapon] = [null, null]
|
var weapons: Array[Weapon] = [null, null]
|
||||||
var cards: Array[Card] = [null, null]
|
var cards: Array[Card] = [null, null]
|
||||||
#var weapon: Weapon
|
|
||||||
#var offhand_weapon: Weapon
|
|
||||||
var weapons_active: bool = false
|
var weapons_active: bool = false
|
||||||
var paused: bool = false
|
var paused: bool = false
|
||||||
var editing_mode: bool = true
|
var editing_mode: bool = true
|
||||||
|
|||||||
@@ -28,7 +28,7 @@
|
|||||||
[ext_resource type="Texture2D" uid="uid://bs2mskoyvyehv" path="res://Assets/Textures/crosshair159.png" id="25_l7gpx"]
|
[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="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="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://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://bn8lkvy5wibvo" path="res://Audio/cardSlide1.ogg" id="28_1thk8"]
|
||||||
[ext_resource type="AudioStream" uid="uid://d32gpcu8w1yvn" path="res://Audio/cardSlide2.ogg" id="29_s0a0l"]
|
[ext_resource type="AudioStream" uid="uid://d32gpcu8w1yvn" path="res://Audio/cardSlide2.ogg" id="29_s0a0l"]
|
||||||
|
|||||||
@@ -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 player: Hero
|
||||||
@export var wave_count: Label
|
@export var wave_count: Label
|
||||||
@export var lives_count: Label
|
@export var lives_count: Label
|
||||||
@@ -12,7 +12,6 @@ var last_lives_count: int = 120
|
|||||||
@export var minimap_viewport: SubViewport
|
@export var minimap_viewport: SubViewport
|
||||||
@export var fps_label: Label
|
@export var fps_label: Label
|
||||||
@export var hover_text: RichTextLabel
|
@export var hover_text: RichTextLabel
|
||||||
var enemy_names: Array[String]
|
|
||||||
@export var enemy_sprites: Array[TextureRect]
|
@export var enemy_sprites: Array[TextureRect]
|
||||||
@export var enemy_counts: Array[Label]
|
@export var enemy_counts: Array[Label]
|
||||||
@export var pickup_notif_scene: PackedScene
|
@export var pickup_notif_scene: PackedScene
|
||||||
@@ -24,6 +23,8 @@ var enemy_names: Array[String]
|
|||||||
@export var enemy_card_scene: PackedScene
|
@export var enemy_card_scene: PackedScene
|
||||||
@export var new_energy_bar: EnergyBar
|
@export var new_energy_bar: EnergyBar
|
||||||
|
|
||||||
|
var last_lives_count: int = 120
|
||||||
|
var enemy_names: Array[String]
|
||||||
var map_anchor: Node3D
|
var map_anchor: Node3D
|
||||||
var audio_guard: bool = false
|
var audio_guard: bool = false
|
||||||
var cards: Array[EnemyCardUI] = []
|
var cards: Array[EnemyCardUI] = []
|
||||||
@@ -155,6 +156,7 @@ func set_crosshair_visible(value: bool) -> void:
|
|||||||
crosshair.set_visible(value)
|
crosshair.set_visible(value)
|
||||||
|
|
||||||
#TODO: the fuck is audio_guard for?
|
#TODO: the fuck is audio_guard for?
|
||||||
|
@warning_ignore("unused_parameter")
|
||||||
func set_weapon_energy(value: int, energy_type: Data.EnergyType) -> void:
|
func set_weapon_energy(value: int, energy_type: Data.EnergyType) -> void:
|
||||||
#weapon_energy_bar.value = value
|
#weapon_energy_bar.value = value
|
||||||
if player.editing_mode:
|
if player.editing_mode:
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name PlayerMovement extends Node
|
class_name PlayerMovement
|
||||||
|
extends Node
|
||||||
|
|
||||||
@export var player: CharacterBody3D
|
@export var player: CharacterBody3D
|
||||||
@export var head: Node3D
|
@export var head: Node3D
|
||||||
@@ -58,7 +59,6 @@ var is_in_climb_zone: bool = false
|
|||||||
var hold_climb: bool = false
|
var hold_climb: bool = false
|
||||||
var ragdoll_grace_period_length: float = 0.5
|
var ragdoll_grace_period_length: float = 0.5
|
||||||
var ragdoll_grace_period_elapsed: float = 0.0
|
var ragdoll_grace_period_elapsed: float = 0.0
|
||||||
|
|
||||||
var crouching: bool = false
|
var crouching: bool = false
|
||||||
var prev_crouch_height: float = 0.0
|
var prev_crouch_height: float = 0.0
|
||||||
var new_crouch_height: float = 0.0
|
var new_crouch_height: float = 0.0
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name ViewMovement extends Node3D
|
class_name ViewMovement
|
||||||
|
extends Node3D
|
||||||
|
|
||||||
@export var player: CharacterBody3D
|
@export var player: CharacterBody3D
|
||||||
|
|
||||||
@@ -19,7 +20,6 @@ class_name ViewMovement extends Node3D
|
|||||||
|
|
||||||
var sample_point: float = 0.0
|
var sample_point: float = 0.0
|
||||||
var speed_factor: float = 0.0
|
var speed_factor: float = 0.0
|
||||||
|
|
||||||
var trauma: float = 0.0
|
var trauma: float = 0.0
|
||||||
var trauma_recovery_speed: float = 0.7
|
var trauma_recovery_speed: float = 0.7
|
||||||
var camera_shake: float = 0.0
|
var camera_shake: float = 0.0
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name BombProjectile extends ExplosiveProjectile
|
class_name BombProjectile
|
||||||
|
extends ExplosiveProjectile
|
||||||
|
|
||||||
var max_bounces: int = 1
|
var max_bounces: int = 1
|
||||||
var bounces: int = 0
|
var bounces: int = 0
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name FireballProjectile extends StatusApplyingProjectile
|
class_name FireballProjectile
|
||||||
|
extends StatusApplyingProjectile
|
||||||
|
|
||||||
|
|
||||||
func build_status_object() -> StatusEffect:
|
func build_status_object() -> StatusEffect:
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name IcicleProjectile extends StatusApplyingProjectile
|
class_name IcicleProjectile
|
||||||
|
extends StatusApplyingProjectile
|
||||||
|
|
||||||
|
|
||||||
func build_status_object() -> StatusEffect:
|
func build_status_object() -> StatusEffect:
|
||||||
|
|||||||
@@ -1 +1,2 @@
|
|||||||
class_name RocketProjectile extends HomingProjectile
|
class_name RocketProjectile
|
||||||
|
extends HomingProjectile
|
||||||
|
|||||||
@@ -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://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="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"]
|
[ext_resource type="AudioStream" uid="uid://dknygn5eyuhxt" path="res://Audio/shot1.wav" id="5_m033a"]
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_0ebt5"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_0ebt5"]
|
||||||
|
|||||||
@@ -4,12 +4,12 @@ importer="scene"
|
|||||||
importer_version=1
|
importer_version=1
|
||||||
type="PackedScene"
|
type="PackedScene"
|
||||||
uid="uid://b6i5w3mowcfcs"
|
uid="uid://b6i5w3mowcfcs"
|
||||||
path="res://.godot/imported/drafting_table.glb-6807c68da9d7f556812db63743d38b57.scn"
|
path="res://.godot/imported/drafting_table.glb-9a5f41e6bf4edcc8c042380f52a70575.scn"
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://drafting_table.glb"
|
source_file="res://Scenes/DraftingTable/drafting_table.glb"
|
||||||
dest_files=["res://.godot/imported/drafting_table.glb-6807c68da9d7f556812db63743d38b57.scn"]
|
dest_files=["res://.godot/imported/drafting_table.glb-9a5f41e6bf4edcc8c042380f52a70575.scn"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 80 KiB After Width: | Height: | Size: 80 KiB |
@@ -3,7 +3,7 @@
|
|||||||
importer="texture"
|
importer="texture"
|
||||||
type="CompressedTexture2D"
|
type="CompressedTexture2D"
|
||||||
uid="uid://cx3u2fj5cniac"
|
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={
|
metadata={
|
||||||
"imported_formats": ["s3tc_bptc"],
|
"imported_formats": ["s3tc_bptc"],
|
||||||
"vram_texture": true
|
"vram_texture": true
|
||||||
@@ -14,8 +14,8 @@ generator_parameters={
|
|||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://drafting_table_plan_tex.png"
|
source_file="res://Scenes/DraftingTable/drafting_table_plan_tex.png"
|
||||||
dest_files=["res://.godot/imported/drafting_table_plan_tex.png-1699462a730246cc6031e19c5449ed7d.s3tc.ctex"]
|
dest_files=["res://.godot/imported/drafting_table_plan_tex.png-7b1786af0562d78c6bd0327df564d184.s3tc.ctex"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
@@ -3,13 +3,13 @@
|
|||||||
importer="scene"
|
importer="scene"
|
||||||
importer_version=1
|
importer_version=1
|
||||||
type="PackedScene"
|
type="PackedScene"
|
||||||
uid="uid://bvoygakisxw4i"
|
uid="uid://bkokjrjns7l6j"
|
||||||
path="res://.godot/imported/cube.glb-ec927bc01951d93b2130ba52799eca7c.scn"
|
path="res://.godot/imported/cube.glb-8c7fddad925be67dc400ce95d4de5b99.scn"
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://cube.glb"
|
source_file="res://Scenes/FlowField/cube.glb"
|
||||||
dest_files=["res://.godot/imported/cube.glb-ec927bc01951d93b2130ba52799eca7c.scn"]
|
dest_files=["res://.godot/imported/cube.glb-8c7fddad925be67dc400ce95d4de5b99.scn"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=3 format=3 uid="uid://ravcalfsha76"]
|
[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"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_d8upr"]
|
||||||
resource_local_to_scene = true
|
resource_local_to_scene = true
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name FlowField extends Node3D
|
class_name FlowField
|
||||||
|
extends Node3D
|
||||||
|
|
||||||
signal path_updated()
|
signal path_updated()
|
||||||
|
|
||||||
@@ -15,6 +16,7 @@ func _ready() -> void:
|
|||||||
node.visible = false
|
node.visible = false
|
||||||
|
|
||||||
|
|
||||||
|
@warning_ignore("unused_parameter")
|
||||||
func _process(delta: float) -> void:
|
func _process(delta: float) -> void:
|
||||||
if !nodes_visible:
|
if !nodes_visible:
|
||||||
return
|
return
|
||||||
@@ -1,8 +1,8 @@
|
|||||||
[gd_scene load_steps=4 format=3 uid="uid://b7dwsqfmdqr8"]
|
[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="Script" uid="uid://r4nmfr8jfcjx" path="res://Scenes/FlowField/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://bssfvyxv5uo1f" path="res://Scenes/FlowField/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="PackedScene" uid="uid://cccowrgelgswj" path="res://Scenes/FlowField/flow_field_tool.tscn" id="3_apokv"]
|
||||||
|
|
||||||
[node name="FlowField" type="Node3D"]
|
[node name="FlowField" type="Node3D"]
|
||||||
script = ExtResource("1_l46ob")
|
script = ExtResource("1_l46ob")
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
[gd_scene load_steps=3 format=3 uid="uid://2vv6mrxiwibf"]
|
[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="Script" uid="uid://r4nmfr8jfcjx" path="res://Scenes/FlowField/flow_field.gd" id="1_ca7vt"]
|
||||||
[ext_resource type="PackedScene" uid="uid://bssfvyxv5uo1f" path="res://flow_node.tscn" id="2_s6hwk"]
|
[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")]
|
[node name="FlowField" type="Node3D" node_paths=PackedStringArray("nodes", "goals")]
|
||||||
script = ExtResource("1_ca7vt")
|
script = ExtResource("1_ca7vt")
|
||||||
@@ -4,12 +4,12 @@ importer="scene"
|
|||||||
importer_version=1
|
importer_version=1
|
||||||
type="PackedScene"
|
type="PackedScene"
|
||||||
uid="uid://bs4en6twugqjl"
|
uid="uid://bs4en6twugqjl"
|
||||||
path="res://.godot/imported/flow_node.glb-590e85013ddaf9dde846990416b040e0.scn"
|
path="res://.godot/imported/flow_node.glb-6ba2ba2afb1294cefafdb385a7532688.scn"
|
||||||
|
|
||||||
[deps]
|
[deps]
|
||||||
|
|
||||||
source_file="res://flow_node.glb"
|
source_file="res://Scenes/FlowField/flow_node.glb"
|
||||||
dest_files=["res://.godot/imported/flow_node.glb-590e85013ddaf9dde846990416b040e0.scn"]
|
dest_files=["res://.godot/imported/flow_node.glb-6ba2ba2afb1294cefafdb385a7532688.scn"]
|
||||||
|
|
||||||
[params]
|
[params]
|
||||||
|
|
||||||
@@ -1,7 +1,7 @@
|
|||||||
[gd_scene load_steps=4 format=3 uid="uid://bssfvyxv5uo1f"]
|
[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="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"]
|
[sub_resource type="SphereShape3D" id="SphereShape3D_bmgs5"]
|
||||||
radius = 0.4
|
radius = 0.4
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=3 format=3 uid="uid://h7el2c2awv6"]
|
[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"]
|
[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_16gtg"]
|
||||||
resource_local_to_scene = true
|
resource_local_to_scene = true
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name Ladder extends Area3D
|
class_name Ladder
|
||||||
|
extends Area3D
|
||||||
|
|
||||||
|
|
||||||
func _on_body_entered(body: Node3D) -> void:
|
func _on_body_entered(body: Node3D) -> void:
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
[gd_scene load_steps=2 format=3 uid="uid://cx8f6tsipvmls"]
|
[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"]
|
[node name="Ladder" type="Area3D"]
|
||||||
collision_mask = 2
|
collision_mask = 2
|
||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
[ext_resource type="Theme" uid="uid://b6a0ip4p72tgx" path="res://UI/new_theme.tres" id="1_p1cib"]
|
[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="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="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="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"]
|
[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="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://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="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"]
|
[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"]
|
[sub_resource type="ViewportTexture" id="ViewportTexture_5u75i"]
|
||||||
|
|||||||
Binary file not shown.
@@ -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://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="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="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"]
|
[ext_resource type="Texture2D" uid="uid://ba85u6i558x4w" path="res://Assets/Textures/minimap_node.png" id="4_lbvtm"]
|
||||||
|
|
||||||
[sub_resource type="BoxShape3D" id="BoxShape3D_lc72v"]
|
[sub_resource type="BoxShape3D" id="BoxShape3D_lc72v"]
|
||||||
|
|||||||
@@ -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="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://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="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")
|
script = ExtResource("1_23wuv")
|
||||||
land_enemy_scene = ExtResource("2_muaoj")
|
land_enemy_scene = ExtResource("2_muaoj")
|
||||||
air_enemy_scene = ExtResource("3_nh55v")
|
air_enemy_scene = ExtResource("3_nh55v")
|
||||||
path = NodePath("VisualizedPath")
|
|
||||||
|
|
||||||
[node name="CSGBox3D" type="CSGBox3D" parent="."]
|
[node name="CSGBox3D" type="CSGBox3D" parent="."]
|
||||||
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0.5, 0)
|
||||||
visible = false
|
visible = false
|
||||||
|
|
||||||
[node name="VisualizedPath" type="Path3D" parent="."]
|
|
||||||
script = ExtResource("4_tdwud")
|
|
||||||
metadata/_custom_type_script = "uid://cd500cyj1tdyw"
|
|
||||||
|
|||||||
@@ -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")
|
|
||||||
@@ -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")
|
|
||||||
@@ -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")
|
var damage_particle_scene: PackedScene = preload("res://Scenes/damage_particle.tscn")
|
||||||
|
|
||||||
|
|
||||||
|
@warning_ignore("unused_parameter")
|
||||||
func apply_effect(effect: Effect, targets: Array[EnemyController]) -> void:
|
func apply_effect(effect: Effect, targets: Array[EnemyController]) -> void:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name AreaAffector extends Affector
|
class_name AreaAffector
|
||||||
|
extends Affector
|
||||||
|
|
||||||
@export var shapecast: ShapeCast3D
|
@export var shapecast: ShapeCast3D
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name DirectAffect extends Affector
|
class_name DirectAffect
|
||||||
|
extends Affector
|
||||||
|
|
||||||
|
|
||||||
func apply_effect(effect: Effect, targets: Array[EnemyController]) -> void:
|
func apply_effect(effect: Effect, targets: Array[EnemyController]) -> void:
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name SpawnAffect extends Affector
|
class_name SpawnAffect
|
||||||
|
extends Affector
|
||||||
|
|
||||||
@export var spawn_scene: PackedScene
|
@export var spawn_scene: PackedScene
|
||||||
@export var tower: Tower
|
@export var tower: Tower
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name BeeliningController extends EnemyMovement
|
class_name BeeliningController
|
||||||
|
extends EnemyMovement
|
||||||
|
|
||||||
var goal: Node3D
|
var goal: Node3D
|
||||||
var direction: Vector3
|
var direction: Vector3
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name EnemyMovement extends Node
|
class_name EnemyMovement
|
||||||
|
extends Node
|
||||||
|
|
||||||
@export var character: EnemyController
|
@export var character: EnemyController
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name LeapingController extends PathingController
|
class_name LeapingController
|
||||||
|
extends PathingController
|
||||||
|
|
||||||
@export var eastl: Label
|
@export var eastl: Label
|
||||||
@export var westl: Label
|
@export var westl: Label
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name PathingController extends EnemyMovement
|
class_name PathingController
|
||||||
|
extends EnemyMovement
|
||||||
|
|
||||||
#var path: Curve3D
|
#var path: Curve3D
|
||||||
#var path_progress: float = 0.0
|
#var path_progress: float = 0.0
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name ExplosiveProjectile extends Projectile
|
class_name ExplosiveProjectile
|
||||||
|
extends Projectile
|
||||||
|
|
||||||
@export var explosion_range: float = 3.0
|
@export var explosion_range: float = 3.0
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name HomingProjectile extends ExplosiveProjectile
|
class_name HomingProjectile
|
||||||
|
extends ExplosiveProjectile
|
||||||
|
|
||||||
var target: Node3D
|
var target: Node3D
|
||||||
var acceleration: float = 50.0
|
var acceleration: float = 50.0
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name Projectile extends RigidBody3D
|
class_name Projectile
|
||||||
|
extends RigidBody3D
|
||||||
|
|
||||||
@export var collision_shape: CollisionShape3D
|
@export var collision_shape: CollisionShape3D
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name StatusApplyingProjectile extends ExplosiveProjectile
|
class_name StatusApplyingProjectile
|
||||||
|
extends ExplosiveProjectile
|
||||||
|
|
||||||
@export var status_stats: StatusStats
|
@export var status_stats: StatusStats
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name Card extends Item
|
class_name Card
|
||||||
|
extends Item
|
||||||
|
|
||||||
enum Faction {
|
enum Faction {
|
||||||
GENERIC = 0,
|
GENERIC = 0,
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name CardText extends Resource
|
class_name CardText
|
||||||
|
extends Resource
|
||||||
|
|
||||||
@export var target_type: Data.TargetType
|
@export var target_type: Data.TargetType
|
||||||
@export var energy_type: Data.EnergyType
|
@export var energy_type: Data.EnergyType
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name Enemy extends Resource
|
class_name Enemy
|
||||||
|
extends Resource
|
||||||
|
|
||||||
@export var title: String = "dog"
|
@export var title: String = "dog"
|
||||||
@export var target_type: Data.EnemyType
|
@export var target_type: Data.EnemyType
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name HeroClass extends Resource
|
class_name HeroClass
|
||||||
|
extends Resource
|
||||||
|
|
||||||
@export var hero_name: String = "Default"
|
@export var hero_name: String = "Default"
|
||||||
@export var texture: Texture
|
@export var texture: Texture
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name Item extends Resource
|
class_name Item
|
||||||
|
extends Resource
|
||||||
|
|
||||||
@export var display_name: String
|
@export var display_name: String
|
||||||
@export var icon: Texture
|
@export var icon: Texture
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name PlayerAudioSettings extends Resource
|
class_name PlayerAudioSettings
|
||||||
|
extends Resource
|
||||||
|
|
||||||
const SAVE_PATH: String = "user://audio_settings.tres"
|
const SAVE_PATH: String = "user://audio_settings.tres"
|
||||||
|
|
||||||
@@ -19,4 +20,3 @@ static func load_profile_from_disk() -> PlayerAudioSettings:
|
|||||||
if ResourceLoader.exists(SAVE_PATH):
|
if ResourceLoader.exists(SAVE_PATH):
|
||||||
return ResourceLoader.load(SAVE_PATH)
|
return ResourceLoader.load(SAVE_PATH)
|
||||||
return PlayerAudioSettings.new()
|
return PlayerAudioSettings.new()
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name PlayerGraphicsSettings extends Resource
|
class_name PlayerGraphicsSettings
|
||||||
|
extends Resource
|
||||||
|
|
||||||
const SAVE_PATH: String = "user://graphics_settings.tres"
|
const SAVE_PATH: String = "user://graphics_settings.tres"
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name PlayerPreferences extends Resource
|
class_name PlayerPreferences
|
||||||
|
extends Resource
|
||||||
|
|
||||||
const SAVE_PATH: String = "user://preferences.tres"
|
const SAVE_PATH: String = "user://preferences.tres"
|
||||||
|
|
||||||
|
|||||||
@@ -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 display_name_changed(old_name: String, new_name: String)
|
||||||
signal preferred_class_changed(old_class: int, new_class: int)
|
signal preferred_class_changed(old_class: int, new_class: int)
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name SaveData extends RefCounted
|
class_name SaveData
|
||||||
|
extends RefCounted
|
||||||
|
|
||||||
var save_slot: int = 0
|
var save_slot: int = 0
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name StatAttribute extends Resource
|
class_name StatAttribute
|
||||||
|
extends Resource
|
||||||
|
|
||||||
@export var key: String
|
@export var key: String
|
||||||
@export var value: float
|
@export var value: float
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name StatusStats extends Resource
|
class_name StatusStats
|
||||||
|
extends Resource
|
||||||
|
|
||||||
@export var name: String
|
@export var name: String
|
||||||
@export var max_stacks: int = 0
|
@export var max_stacks: int = 0
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name StatusDoT extends StatusEffect
|
class_name StatusDoT
|
||||||
|
extends StatusEffect
|
||||||
|
|
||||||
|
|
||||||
func proc(affected: EnemyController, stacks: int, _existing_effects: Dictionary) -> void:
|
func proc(affected: EnemyController, stacks: int, _existing_effects: Dictionary) -> void:
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name StatusEffect extends Resource
|
class_name StatusEffect
|
||||||
|
extends Resource
|
||||||
|
|
||||||
@export var stats: StatusStats
|
@export var stats: StatusStats
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name StatusSlow extends StatusEffect
|
class_name StatusSlow
|
||||||
|
extends StatusEffect
|
||||||
|
|
||||||
|
|
||||||
func on_attached(affected: EnemyController, _existing_effects: Dictionary) -> void:
|
func on_attached(affected: EnemyController, _existing_effects: Dictionary) -> void:
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name HitscanWeapon extends Weapon
|
class_name HitscanWeapon
|
||||||
|
extends Weapon
|
||||||
|
|
||||||
@export var raycast: RayCast3D
|
@export var raycast: RayCast3D
|
||||||
@export var range_debug_indicator: CSGSphere3D
|
@export var range_debug_indicator: CSGSphere3D
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name ProjectileWeapon extends Weapon
|
class_name ProjectileWeapon
|
||||||
|
extends Weapon
|
||||||
|
|
||||||
@export var projectile_scene: PackedScene
|
@export var projectile_scene: PackedScene
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name ShapecastWeapon extends Weapon
|
class_name ShapecastWeapon
|
||||||
|
extends Weapon
|
||||||
|
|
||||||
@export var shapecast: ShapeCast3D
|
@export var shapecast: ShapeCast3D
|
||||||
@export var range_debug_indicator: CSGSphere3D
|
@export var range_debug_indicator: CSGSphere3D
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name StatusApplyingWeapon extends HitscanWeapon
|
class_name StatusApplyingWeapon
|
||||||
|
extends HitscanWeapon
|
||||||
|
|
||||||
@export var status_stats: StatusStats
|
@export var status_stats: StatusStats
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name Weapon extends Node3D
|
class_name Weapon
|
||||||
|
extends Node3D
|
||||||
|
|
||||||
signal energy_spent(energy: int, type: Data.EnergyType)
|
signal energy_spent(energy: int, type: Data.EnergyType)
|
||||||
signal energy_recharged(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)
|
energy_spent.emit(delta, stats.energy_type)
|
||||||
|
|
||||||
|
|
||||||
|
@warning_ignore("unused_parameter")
|
||||||
func _physics_process(delta: float) -> void:
|
func _physics_process(delta: float) -> void:
|
||||||
if trigger_held and current_energy >= energy_cost and time_since_firing >= time_between_shots:
|
if trigger_held and current_energy >= energy_cost and time_since_firing >= time_between_shots:
|
||||||
if stats.energy_type == Data.EnergyType.DISCRETE:
|
if stats.energy_type == Data.EnergyType.DISCRETE:
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name AlertPopup extends PanelContainer
|
class_name AlertPopup
|
||||||
|
extends PanelContainer
|
||||||
|
|
||||||
signal completed()
|
signal completed()
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name AudioOptions extends VBoxContainer
|
class_name AudioOptions
|
||||||
|
extends VBoxContainer
|
||||||
|
|
||||||
@export var master_input: SpinBox
|
@export var master_input: SpinBox
|
||||||
@export var master_slider: HSlider
|
@export var master_slider: HSlider
|
||||||
|
|||||||
@@ -1,3 +1,4 @@
|
|||||||
class_name BindButton extends Button
|
class_name BindButton
|
||||||
|
extends Button
|
||||||
|
|
||||||
var trigger_event: InputEvent
|
var trigger_event: InputEvent
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name BootLogo extends TextureRect
|
class_name BootLogo
|
||||||
|
extends TextureRect
|
||||||
|
|
||||||
signal animation_finished()
|
signal animation_finished()
|
||||||
|
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name CardInHand extends Node2D
|
class_name CardInHand
|
||||||
|
extends Node2D
|
||||||
|
|
||||||
var stats: Card
|
var stats: Card
|
||||||
@export var rarity_sprite: Sprite2D
|
@export var rarity_sprite: Sprite2D
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name CardItem extends InteractButton
|
class_name CardItem
|
||||||
|
extends InteractButton
|
||||||
|
|
||||||
signal pressed(card_item: CardItem)
|
signal pressed(card_item: CardItem)
|
||||||
|
|
||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name Chatbox extends Control
|
class_name Chatbox
|
||||||
|
extends Control
|
||||||
|
|
||||||
signal opened
|
signal opened
|
||||||
signal closed
|
signal closed
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name CinematicCamManager extends Node3D
|
class_name CinematicCamManager
|
||||||
|
extends Node3D
|
||||||
|
|
||||||
@export var path_follows: Array[PathFollow3D]
|
@export var path_follows: Array[PathFollow3D]
|
||||||
@export var cameras: Array[Camera3D]
|
@export var cameras: Array[Camera3D]
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name ConfirmationPopup extends PanelContainer
|
class_name ConfirmationPopup
|
||||||
|
extends PanelContainer
|
||||||
|
|
||||||
signal completed(outcome: bool)
|
signal completed(outcome: bool)
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name Corpse extends RigidBody3D
|
class_name Corpse
|
||||||
|
extends RigidBody3D
|
||||||
|
|
||||||
|
|
||||||
func set_sprite(tex: Texture) -> void:
|
func set_sprite(tex: Texture) -> void:
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name DamageParticle extends Sprite3D
|
class_name DamageParticle
|
||||||
|
extends Sprite3D
|
||||||
|
|
||||||
@onready var label: Label = $SubViewport/Label
|
@onready var label: Label = $SubViewport/Label
|
||||||
var time_alive: float = 0.0
|
var time_alive: float = 0.0
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name Effect extends Resource
|
class_name Effect
|
||||||
|
extends Resource
|
||||||
|
|
||||||
|
|
||||||
@export var damage: int = 0
|
@export var damage: int = 0
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name EightDirectionSprite3D extends Sprite3D
|
class_name EightDirectionSprite3D
|
||||||
|
extends Sprite3D
|
||||||
|
|
||||||
|
|
||||||
func _process(_delta: float) -> void:
|
func _process(_delta: float) -> void:
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name EnemyCard extends RefCounted
|
class_name EnemyCard
|
||||||
|
extends RefCounted
|
||||||
|
|
||||||
|
|
||||||
var enemy: Enemy = null
|
var enemy: Enemy = null
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name EnemyGoal extends Node3D
|
class_name EnemyGoal
|
||||||
|
extends Node3D
|
||||||
|
|
||||||
@export var audio_player: AudioStreamPlayer3D
|
@export var audio_player: AudioStreamPlayer3D
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,11 @@
|
|||||||
class_name EnemySpawner extends Node3D
|
class_name EnemySpawner
|
||||||
|
extends Node3D
|
||||||
|
|
||||||
signal enemy_spawned()
|
signal enemy_spawned()
|
||||||
|
|
||||||
@export var land_enemy_scene: PackedScene
|
@export var land_enemy_scene: PackedScene
|
||||||
@export var leap_enemy_scene: PackedScene
|
@export var leap_enemy_scene: PackedScene
|
||||||
@export var air_enemy_scene: PackedScene
|
@export var air_enemy_scene: PackedScene
|
||||||
@export var path: VisualizedPath
|
|
||||||
@export var flow_field: FlowField
|
@export var flow_field: FlowField
|
||||||
@export var own_id: int = 0
|
@export var own_id: int = 0
|
||||||
@export var type: Data.EnemyType
|
@export var type: Data.EnemyType
|
||||||
@@ -21,7 +21,7 @@ var enemies_spawned: Dictionary = {}
|
|||||||
var enemies_to_spawn: int = 0
|
var enemies_to_spawn: int = 0
|
||||||
var done_spawning: bool = true
|
var done_spawning: bool = true
|
||||||
var enemy_id: int = 0
|
var enemy_id: int = 0
|
||||||
var new_path: Path3D
|
var path: Path3D
|
||||||
var path_polygon: PackedScene = preload("res://path_polygon.tscn")
|
var path_polygon: PackedScene = preload("res://path_polygon.tscn")
|
||||||
var game_manager: GameManager
|
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:
|
func create_path() -> void:
|
||||||
if type != Data.EnemyType.LAND:
|
if type != Data.EnemyType.LAND:
|
||||||
return
|
return
|
||||||
new_path = Path3D.new()
|
path = Path3D.new()
|
||||||
new_path.curve = Curve3D.new()
|
path.curve = Curve3D.new()
|
||||||
add_child(new_path)
|
add_child(path)
|
||||||
var polygon: CSGPolygon3D = path_polygon.instantiate()
|
var polygon: CSGPolygon3D = path_polygon.instantiate()
|
||||||
new_path.add_child(polygon)
|
path.add_child(polygon)
|
||||||
polygon.mode = CSGPolygon3D.MODE_PATH
|
polygon.mode = CSGPolygon3D.MODE_PATH
|
||||||
polygon.path_node = new_path.get_path()
|
polygon.path_node = path.get_path()
|
||||||
new_path.global_position = Vector3.ZERO
|
path.global_position = Vector3.ZERO
|
||||||
update_path()
|
update_path()
|
||||||
|
|
||||||
|
|
||||||
@@ -97,13 +97,13 @@ func create_path() -> void:
|
|||||||
func update_path() -> void:
|
func update_path() -> void:
|
||||||
if type != Data.EnemyType.LAND:
|
if type != Data.EnemyType.LAND:
|
||||||
return
|
return
|
||||||
new_path.curve.add_point(global_position + Vector3(0, 0.5, 0))
|
path.curve.add_point(global_position + Vector3(0, 0.5, 0))
|
||||||
new_path.curve = Curve3D.new()
|
path.curve = Curve3D.new()
|
||||||
var node: FlowNode = flow_field.get_closest_traversable_point(global_position)
|
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:
|
while node.best_path:
|
||||||
node = 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))
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -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, 3.0) var float_height: float = 1.5
|
||||||
@export_range(0.0, 2.0) var bounce_dist: float = 0.5
|
@export_range(0.0, 2.0) var bounce_dist: float = 0.5
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name FlowFieldTool extends Node
|
class_name FlowFieldTool
|
||||||
|
extends Node
|
||||||
|
|
||||||
@export var flow_field: FlowField
|
@export var flow_field: FlowField
|
||||||
@export var raycast: RayCast3D
|
@export var raycast: RayCast3D
|
||||||
|
|||||||
@@ -1,8 +1,9 @@
|
|||||||
class_name FlowNode extends StaticBody3D
|
class_name FlowNode
|
||||||
|
extends StaticBody3D
|
||||||
|
|
||||||
@export var connections: Array[FlowNode]
|
@export var connections: Array[FlowNode]
|
||||||
@export var visualisers: Array[Node3D]
|
@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 traversable: bool = true
|
||||||
@export var buildable: bool = true
|
@export var buildable: bool = true
|
||||||
var best_path: FlowNode :
|
var best_path: FlowNode :
|
||||||
@@ -24,6 +25,7 @@ func _ready() -> void:
|
|||||||
set_connector_color(node, Color.WEB_GRAY)
|
set_connector_color(node, Color.WEB_GRAY)
|
||||||
|
|
||||||
|
|
||||||
|
@warning_ignore("unused_parameter")
|
||||||
func _process(delta: float) -> void:
|
func _process(delta: float) -> void:
|
||||||
if visible:
|
if visible:
|
||||||
for i: int in connections.size():
|
for i: int in connections.size():
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ signal switch_to_single_player
|
|||||||
signal switch_to_multi_player
|
signal switch_to_multi_player
|
||||||
signal switch_to_main_menu
|
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 player_scene: PackedScene = load("res://PCs/hero.tscn")
|
||||||
var game_end_scene: PackedScene = load("res://Scenes/Menus/GameEndScreen/game_end_screen.tscn")
|
var game_end_scene: PackedScene = load("res://Scenes/Menus/GameEndScreen/game_end_screen.tscn")
|
||||||
var connected_players_nodes: Dictionary = {}
|
var connected_players_nodes: Dictionary = {}
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name GameMode extends RefCounted
|
class_name GameMode
|
||||||
|
extends RefCounted
|
||||||
|
|
||||||
var multiplayer: bool = false
|
var multiplayer: bool = false
|
||||||
var seeded: bool = false
|
var seeded: bool = false
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name GameplayOptionsMenu extends VBoxContainer
|
class_name GameplayOptionsMenu
|
||||||
|
extends VBoxContainer
|
||||||
|
|
||||||
@export var look_sens_slider: HSlider
|
@export var look_sens_slider: HSlider
|
||||||
@export var look_sens_input: SpinBox
|
@export var look_sens_input: SpinBox
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name GraphicsOptionsMenu extends VBoxContainer
|
class_name GraphicsOptionsMenu
|
||||||
|
extends VBoxContainer
|
||||||
|
|
||||||
@export var fov_input: SpinBox
|
@export var fov_input: SpinBox
|
||||||
@export var fov_slider: HSlider
|
@export var fov_slider: HSlider
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name Health extends Node
|
class_name Health
|
||||||
|
extends Node
|
||||||
|
|
||||||
signal health_depleted
|
signal health_depleted
|
||||||
signal health_changed(health: int)
|
signal health_changed(health: int)
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name HealthBar extends TextureProgressBar
|
class_name HealthBar
|
||||||
|
extends TextureProgressBar
|
||||||
|
|
||||||
@export var health_bar_gradient: Gradient
|
@export var health_bar_gradient: Gradient
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
class_name Hitbox extends CollisionShape3D
|
class_name Hitbox
|
||||||
|
extends CollisionShape3D
|
||||||
|
|
||||||
@export var critical_zone: bool = false
|
@export var critical_zone: bool = false
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user