diff --git a/project.godot b/project.godot index 277e044..912855b 100644 --- a/project.godot +++ b/project.godot @@ -42,10 +42,6 @@ enabled=PackedStringArray("res://addons/godot_resource_groups/plugin.cfg", "res: auto_rebuild=true -[physics] - -3d/physics_engine="JoltPhysics3D" - [input] strafe_left={ @@ -78,3 +74,7 @@ turn_right={ "events": [Object(InputEventKey,"resource_local_to_scene":false,"resource_name":"","device":-1,"window_id":0,"alt_pressed":false,"shift_pressed":false,"ctrl_pressed":false,"meta_pressed":false,"pressed":false,"keycode":0,"physical_keycode":4194321,"key_label":0,"unicode":0,"location":0,"echo":false,"script":null) ] } + +[physics] + +3d/physics_engine="JoltPhysics3D" diff --git a/resources/Character.tres b/resources/Character.tres new file mode 100644 index 0000000..996c44d --- /dev/null +++ b/resources/Character.tres @@ -0,0 +1,8 @@ +[gd_resource type="Resource" script_class="Character" load_steps=3 format=3 uid="uid://bd1ugbnlm08vv"] + +[ext_resource type="Script" path="res://scripts/resources/Character/Character.gd" id="1_8yb2m"] +[ext_resource type="Resource" uid="uid://qcjre5wwbrs3" path="res://resources/PlayerStats.tres" id="2_rc7x1"] + +[resource] +script = ExtResource("1_8yb2m") +stats = ExtResource("2_rc7x1") diff --git a/resources/Hp.tres b/resources/Hp.tres new file mode 100644 index 0000000..9fd8d8a --- /dev/null +++ b/resources/Hp.tres @@ -0,0 +1,7 @@ +[gd_resource type="Resource" script_class="Health" load_steps=2 format=3 uid="uid://c3gf5mi1u151m"] + +[ext_resource type="Script" path="res://scripts/resources/Stats/Health.gd" id="1_yqlcl"] + +[resource] +script = ExtResource("1_yqlcl") +_value = 0 diff --git a/resources/PlayerStats.tres b/resources/PlayerStats.tres new file mode 100644 index 0000000..7f28fbb --- /dev/null +++ b/resources/PlayerStats.tres @@ -0,0 +1,36 @@ +[gd_resource type="Resource" script_class="CharacterStats" load_steps=12 format=3 uid="uid://qcjre5wwbrs3"] + +[ext_resource type="Script" path="res://scripts/resources/Stats/Armor.gd" id="1_c7135"] +[ext_resource type="Script" path="res://scripts/resources/Character/CharacterStats.gd" id="1_xti0a"] +[ext_resource type="Script" path="res://scripts/resources/Stats/Health.gd" id="2_hsnpy"] +[ext_resource type="Script" path="res://scripts/resources/Stats/MaxHealth.gd" id="3_26tso"] +[ext_resource type="Script" path="res://scripts/resources/Stats/MovementSpeed.gd" id="4_goc2a"] +[ext_resource type="Script" path="res://scripts/resources/Stats/Shield.gd" id="6_rncik"] + +[sub_resource type="Resource" id="Resource_vbm44"] +script = ExtResource("1_c7135") +_value = 0 + +[sub_resource type="Resource" id="Resource_nyvlf"] +script = ExtResource("2_hsnpy") +_value = 0 + +[sub_resource type="Resource" id="Resource_pxuuc"] +script = ExtResource("3_26tso") +_value = 10 + +[sub_resource type="Resource" id="Resource_vs6ff"] +script = ExtResource("4_goc2a") +_value = 0 + +[sub_resource type="Resource" id="Resource_r5hb1"] +script = ExtResource("6_rncik") +_value = 0 + +[resource] +script = ExtResource("1_xti0a") +max_health = SubResource("Resource_pxuuc") +health = SubResource("Resource_nyvlf") +armor = SubResource("Resource_vbm44") +shield = SubResource("Resource_r5hb1") +movementSpeed = SubResource("Resource_vs6ff") diff --git a/scripts/resources/Character/Character.gd b/scripts/resources/Character/Character.gd new file mode 100644 index 0000000..7958f66 --- /dev/null +++ b/scripts/resources/Character/Character.gd @@ -0,0 +1,5 @@ +extends Resource + +class_name Character + +@export var stats: CharacterStats diff --git a/scripts/resources/Character/CharacterStats.gd b/scripts/resources/Character/CharacterStats.gd new file mode 100644 index 0000000..daa221a --- /dev/null +++ b/scripts/resources/Character/CharacterStats.gd @@ -0,0 +1,9 @@ +extends Resource + +class_name CharacterStats + +@export var max_health: MaxHealth +@export var health: Health +@export var armor: Armor +@export var shield: Shield +@export var movementSpeed: MovementSpeed diff --git a/scripts/resources/Character/PlayerCharacter.gd b/scripts/resources/Character/PlayerCharacter.gd new file mode 100644 index 0000000..c4b42fb --- /dev/null +++ b/scripts/resources/Character/PlayerCharacter.gd @@ -0,0 +1,3 @@ +extends Character + +@export var mech: MechBase diff --git a/scripts/resources/Effects/Effect.gd b/scripts/resources/Effects/Effect.gd new file mode 100644 index 0000000..6864411 --- /dev/null +++ b/scripts/resources/Effects/Effect.gd @@ -0,0 +1,6 @@ +extends Resource + +class_name Effect + +func apply_effect (character: Character)-> void: + assert(false) diff --git a/scripts/resources/Effects/RefillHpEffect.gd b/scripts/resources/Effects/RefillHpEffect.gd new file mode 100644 index 0000000..91eb748 --- /dev/null +++ b/scripts/resources/Effects/RefillHpEffect.gd @@ -0,0 +1,4 @@ +extends Effect + +func apply_effect (character: Character)-> void: + character.stats.health.value = character.stats.max_health.value diff --git a/scripts/resources/Equipment/EquipmentStats.gd b/scripts/resources/Equipment/EquipmentStats.gd new file mode 100644 index 0000000..a65b670 --- /dev/null +++ b/scripts/resources/Equipment/EquipmentStats.gd @@ -0,0 +1,9 @@ +extends Resource + +class_name EquipmentStats + +@export var max_health: MaxHealth +@export var armor: Armor +@export var shield: Shield +@export var movementSpeed: MovementSpeed +@export var damage: Damage diff --git a/scripts/resources/Equipment/MechParts/Arms.gd b/scripts/resources/Equipment/MechParts/Arms.gd new file mode 100644 index 0000000..b3c4785 --- /dev/null +++ b/scripts/resources/Equipment/MechParts/Arms.gd @@ -0,0 +1,3 @@ +extends MechPart + +class_name Arms diff --git a/scripts/resources/Equipment/MechParts/Boots.gd b/scripts/resources/Equipment/MechParts/Boots.gd new file mode 100644 index 0000000..0a853a1 --- /dev/null +++ b/scripts/resources/Equipment/MechParts/Boots.gd @@ -0,0 +1,3 @@ +extends MechPart + +class_name Boots diff --git a/scripts/resources/Equipment/MechParts/Hydraulics.gd b/scripts/resources/Equipment/MechParts/Hydraulics.gd new file mode 100644 index 0000000..2d5fc9b --- /dev/null +++ b/scripts/resources/Equipment/MechParts/Hydraulics.gd @@ -0,0 +1,3 @@ +extends MechPart + +class_name Hydraulics diff --git a/scripts/resources/Equipment/MechParts/MechBase.gd b/scripts/resources/Equipment/MechParts/MechBase.gd new file mode 100644 index 0000000..e06010b --- /dev/null +++ b/scripts/resources/Equipment/MechParts/MechBase.gd @@ -0,0 +1,7 @@ +extends MechPart + +class_name MechBase + +@export var boots: Boots +@export var arms: Arms +@export var hydraulics: Hydraulics diff --git a/scripts/resources/Equipment/MechParts/MechPart.gd b/scripts/resources/Equipment/MechParts/MechPart.gd new file mode 100644 index 0000000..d033baa --- /dev/null +++ b/scripts/resources/Equipment/MechParts/MechPart.gd @@ -0,0 +1,6 @@ +extends Resource + +class_name MechPart + +@export var name: String +@export var stats: EquipmentStats diff --git a/scripts/resources/Stats/Armor.gd b/scripts/resources/Stats/Armor.gd new file mode 100644 index 0000000..13ee0d2 --- /dev/null +++ b/scripts/resources/Stats/Armor.gd @@ -0,0 +1,13 @@ +extends Resource + +class_name Armor + +signal value_changed_signal(currentArmor: int) + +@export var _value: int +var value: int: + get: + return _value + set(new_value): + value = new_value; + value_changed_signal.emit(_value) diff --git a/scripts/resources/Stats/Damage.gd b/scripts/resources/Stats/Damage.gd new file mode 100644 index 0000000..f4fcf10 --- /dev/null +++ b/scripts/resources/Stats/Damage.gd @@ -0,0 +1,13 @@ +extends Resource + +class_name Damage + +signal value_changed_signal(currentDamage: int) + +@export var _value: int +var value: int: + get: + return _value + set(new_value): + value = new_value; + value_changed_signal.emit(_value) diff --git a/scripts/resources/Stats/Health.gd b/scripts/resources/Stats/Health.gd new file mode 100644 index 0000000..4802849 --- /dev/null +++ b/scripts/resources/Stats/Health.gd @@ -0,0 +1,13 @@ +extends Resource + +class_name Health + +signal value_changed_signal(currentHealth: int) + +@export var _value: int +var value: int: + get: + return _value + set(new_value): + value = new_value; + value_changed_signal.emit(_value) diff --git a/scripts/resources/Stats/MaxHealth.gd b/scripts/resources/Stats/MaxHealth.gd new file mode 100644 index 0000000..4c487c9 --- /dev/null +++ b/scripts/resources/Stats/MaxHealth.gd @@ -0,0 +1,13 @@ +extends Resource + +class_name MaxHealth + +signal value_changed_signal(currentMaxHealth: int) + +@export var _value: int +var value: int: + get: + return _value + set(new_value): + value = new_value; + value_changed_signal.emit(_value) diff --git a/scripts/resources/Stats/MovementSpeed.gd b/scripts/resources/Stats/MovementSpeed.gd new file mode 100644 index 0000000..34bedfa --- /dev/null +++ b/scripts/resources/Stats/MovementSpeed.gd @@ -0,0 +1,13 @@ +extends Resource + +class_name MovementSpeed + +signal value_changed_signal(currentMovementSpeed: int) + +@export var _value: int +var value: int: + get: + return _value + set(new_value): + value = new_value; + value_changed_signal.emit(_value) diff --git a/scripts/resources/Stats/Shield.gd b/scripts/resources/Stats/Shield.gd new file mode 100644 index 0000000..00a0feb --- /dev/null +++ b/scripts/resources/Stats/Shield.gd @@ -0,0 +1,13 @@ +extends Resource + +class_name Shield + +signal value_changed_signal(currentShield: int) + +@export var _value: int +var value: int: + get: + return _value + set(new_value): + value = new_value; + value_changed_signal.emit(_value) diff --git a/scripts/resources/Weapons/Weapon.gd b/scripts/resources/Weapons/Weapon.gd new file mode 100644 index 0000000..bf9a463 --- /dev/null +++ b/scripts/resources/Weapons/Weapon.gd @@ -0,0 +1,5 @@ +extends Resource + +class_name Weapon + +@export var name: String diff --git a/scripts/resources/Weapons/WeaponStats.gd b/scripts/resources/Weapons/WeaponStats.gd new file mode 100644 index 0000000..cea8e0b --- /dev/null +++ b/scripts/resources/Weapons/WeaponStats.gd @@ -0,0 +1,6 @@ +extends Resource + +class_name WeaponStats + + +@export var damage: Damage