From 8c835b408a3cfba17852d97321d89558035eb615 Mon Sep 17 00:00:00 2001 From: Joey Pollack Date: Mon, 12 Aug 2024 18:35:22 -0400 Subject: [PATCH] Player and enemy on screen --- .vscode/settings.json | 3 - actors/actor.gd | 3 + actors/enemies/blob/art/Blob.png | 3 + actors/enemies/blob/art/Blob.png.import | 34 ++++++++++ actors/enemies/blob/blob.gd | 10 +++ actors/enemies/blob/blob.tscn | 55 +++++++++++++++++ actors/enemies/enemy_character.gd | 2 +- actors/player chars/alex/alex.gd | 2 + actors/player chars/alex/alex.tscn | 34 ++++++++-- .../player chars/alex/art}/alex.png | 0 .../player chars/alex/art}/alex.png.import | 6 +- actors/player chars/player_character.gd | 2 +- assets/binary files/.gdignore | 1 - .../MainLev2.0.png.import | 34 ---------- .../character sprites/Szadi NPCs/Female1.png | 0 .../Szadi NPCs/Female1.png.import | 6 +- .../character sprites/Szadi NPCs/Female2.png | 0 .../Szadi NPCs/Female2.png.import | 6 +- .../character sprites/Szadi NPCs/Male1.png | 0 .../Szadi NPCs/Male1.png.import | 6 +- .../character sprites/Szadi NPCs/Male2.png | 0 .../Szadi NPCs/Male2.png.import | 6 +- .../character sprites/Szadi NPCs/Male3.png | 0 .../Szadi NPCs/Male3.png.import | 6 +- .../character sprites/Szadi NPCs/Male4.png | 0 .../Szadi NPCs/Male4.png.import | 6 +- .../Village_AnimatedWaterTiles.png.import | 0 .../Village_BuildingTiles.png.import | 0 .../tile sets/Village_ObjectTiles.png.import | 0 .../tile sets/Village_TerrainTiles.png.import | 0 assets/{art => extra}/ui/bar_over.png | 0 assets/{art => extra}/ui/bar_over.png.import | 6 +- assets/{art => extra}/ui/bar_under.png | 0 assets/{art => extra}/ui/bar_under.png.import | 6 +- assets/{art => extra}/ui/bars.png | 0 assets/{art => extra}/ui/bars.png.import | 6 +- assets/source files/.gdignore | 0 assets/source files/Blob.aseprite | Bin 0 -> 794 bytes .../NPC_Characters_v1.0/Female1.png | 0 .../NPC_Characters_v1.0/Female1.png.import | 34 ++++++++++ .../NPC_Characters_v1.0/Female2.png | 0 .../NPC_Characters_v1.0/Female2.png.import | 34 ++++++++++ .../NPC_Characters_v1.0/Male1.png | 0 .../NPC_Characters_v1.0/Male1.png.import | 34 ++++++++++ .../NPC_Characters_v1.0/Male2.png | 0 .../NPC_Characters_v1.0/Male2.png.import | 34 ++++++++++ .../NPC_Characters_v1.0/Male3.png | 0 .../NPC_Characters_v1.0/Male3.png.import | 34 ++++++++++ .../NPC_Characters_v1.0/Male4.png | 0 .../NPC_Characters_v1.0/Male4.png.import | 34 ++++++++++ .../NPC_Characters_v1.0/_INFO.txt | 0 .../NPC_Characters_v1.0/_PSD/Female1.psd | Bin .../NPC_Characters_v1.0/_PSD/Female2.psd | Bin .../NPC_Characters_v1.0/_PSD/Male1.psd | Bin .../NPC_Characters_v1.0/_PSD/Male2.psd | Bin .../NPC_Characters_v1.0/_PSD/Male3.psd | Bin .../NPC_Characters_v1.0/_PSD/Male4.psd | Bin .../NPC_Characters_v1.0/_license.txt | 0 .../RPGW_GrassLand_v2.01/MainLev2.0.png | 0 .../MainLev_autotiling.png | 0 .../MainLev_autotiling.png.import | 0 .../RPGW_GrassLand_v2.01/_license.txt | 0 .../RPGW_GrassLand_v2.01/anim/tree1A_ss.png | 0 .../anim/tree1A_ss.png.import | 0 .../RPGW_GrassLand_v2.01/anim/tree1B_ss.png | 0 .../anim/tree1B_ss.png.import | 0 .../RPGW_GrassLand_v2.01/anim/tree1C_ss.png | 0 .../anim/tree1C_ss.png.import | 0 .../RPGW_GrassLand_v2.01/anim/tree1D_ss.png | 0 .../anim/tree1D_ss.png.import | 0 .../RPGW_GrassLand_v2.01/anim/tree2A_ss.png | 0 .../anim/tree2A_ss.png.import | 0 .../RPGW_GrassLand_v2.01/anim/tree2B_ss.png | 0 .../anim/tree2B_ss.png.import | 0 .../RPGW_GrassLand_v2.01/anim/tree2C_ss.png | 0 .../anim/tree2C_ss.png.import | 0 .../RPGW_GrassLand_v2.01/anim/tree2D_ss.png | 0 .../anim/tree2D_ss.png.import | 0 .../RPGW_GrassLand_v2.01/anim/tree3A_ss.png | 0 .../anim/tree3A_ss.png.import | 0 .../RPGW_GrassLand_v2.01/anim/tree3B_ss.png | 0 .../anim/tree3B_ss.png.import | 0 .../RPGW_GrassLand_v2.01/anim/tree3C_ss.png | 0 .../anim/tree3C_ss.png.import | 0 .../RPGW_GrassLand_v2.01/anim/tree3D_ss.png | 0 .../anim/tree3D_ss.png.import | 0 .../anim/water/Water_tafle_1A.png | 0 .../anim/water/Water_tafle_1A.png.import | 0 .../anim/water/Water_tafle_1B.png | 0 .../anim/water/Water_tafle_1B.png.import | 0 .../anim/water/Water_tafle_2A.png | 0 .../anim/water/Water_tafle_2A.png.import | 0 .../anim/water/Water_tafle_2B.png | 0 .../anim/water/Water_tafle_2B.png.import | 0 .../anim/water/Water_tafle_3A.png | 0 .../anim/water/Water_tafle_3A.png.import | 0 .../anim/water/Water_tafle_3B.png | 0 .../anim/water/Water_tafle_3B.png.import | 0 .../anim/water/Water_tafle_4A.png | 0 .../anim/water/Water_tafle_4A.png.import | 0 .../anim/water/Water_tafle_4B.png | 0 .../anim/water/Water_tafle_4B.png.import | 0 .../anim/water/water_layerA_ef.png | 0 .../anim/water/water_layerA_ef.png.import | 0 .../anim/water/water_layerB_ef.png | 0 .../anim/water/water_layerB_ef.png.import | 0 .../RPGW_GrassLand_v2.01/decorative.png | 0 .../decorative.png.import | 0 .../decorative_nograss.png | 0 .../decorative_nograss.png.import | 0 .../tile sets/Village_AnimatedWaterTiles.png | 0 .../Village_AnimatedWaterTiles.png.import | 0 .../tile sets/Village_BuildingTiles.png | 0 .../Village_BuildingTiles.png.import | 0 .../tile sets/Village_ObjectTiles.png | 0 .../tile sets/Village_ObjectTiles.png.import | 0 .../tile sets/Village_TerrainTiles.png | 0 .../tile sets/Village_TerrainTiles.png.import | 0 systems/combat/combat_action.gd | 8 ++- systems/combat/combat_state.gd | 58 +++++++++++++++--- systems/combat/combat_stats.gd | 8 +-- systems/combat/combat_team.gd | 21 +++++-- systems/combat/combatant.gd | 18 +++++- .../combat/common actions/action_attack.gd | 9 +++ systems/combat/ui/combat_log.gd | 28 +++++++++ systems/combat/ui/combat_log.tscn | 26 ++++++++ testing/art/MainLev2.0.png | 3 + testing/art/MainLev2.0.png.import | 34 ++++++++++ testing/art/decorative.png | 3 + testing/art/decorative.png.import | 34 ++++++++++ testing/art/tree1B_ss.png | 3 + testing/art/tree1B_ss.png.import | 34 ++++++++++ testing/art/tree1D_ss.png | 3 + testing/art/tree1D_ss.png.import | 34 ++++++++++ testing/sandbox.gd | 19 ++++-- testing/sandbox.tscn | 21 +++++-- 136 files changed, 707 insertions(+), 104 deletions(-) create mode 100644 actors/actor.gd create mode 100644 actors/enemies/blob/art/Blob.png create mode 100644 actors/enemies/blob/art/Blob.png.import create mode 100644 actors/enemies/blob/blob.gd create mode 100644 actors/enemies/blob/blob.tscn rename {assets/art/character sprites => actors/player chars/alex/art}/alex.png (100%) rename {assets/art/character sprites => actors/player chars/alex/art}/alex.png.import (71%) delete mode 100644 assets/binary files/.gdignore delete mode 100644 assets/binary files/tile sets/RPGW_GrassLand_v2.01/MainLev2.0.png.import rename assets/{art => extra}/character sprites/Szadi NPCs/Female1.png (100%) rename assets/{art => extra}/character sprites/Szadi NPCs/Female1.png.import (69%) rename assets/{art => extra}/character sprites/Szadi NPCs/Female2.png (100%) rename assets/{art => extra}/character sprites/Szadi NPCs/Female2.png.import (69%) rename assets/{art => extra}/character sprites/Szadi NPCs/Male1.png (100%) rename assets/{art => extra}/character sprites/Szadi NPCs/Male1.png.import (70%) rename assets/{art => extra}/character sprites/Szadi NPCs/Male2.png (100%) rename assets/{art => extra}/character sprites/Szadi NPCs/Male2.png.import (70%) rename assets/{art => extra}/character sprites/Szadi NPCs/Male3.png (100%) rename assets/{art => extra}/character sprites/Szadi NPCs/Male3.png.import (70%) rename assets/{art => extra}/character sprites/Szadi NPCs/Male4.png (100%) rename assets/{art => extra}/character sprites/Szadi NPCs/Male4.png.import (70%) rename assets/{art => extra}/tile sets/Village_AnimatedWaterTiles.png.import (100%) rename assets/{art => extra}/tile sets/Village_BuildingTiles.png.import (100%) rename assets/{art => extra}/tile sets/Village_ObjectTiles.png.import (100%) rename assets/{art => extra}/tile sets/Village_TerrainTiles.png.import (100%) rename assets/{art => extra}/ui/bar_over.png (100%) rename assets/{art => extra}/ui/bar_over.png.import (71%) rename assets/{art => extra}/ui/bar_under.png (100%) rename assets/{art => extra}/ui/bar_under.png.import (71%) rename assets/{art => extra}/ui/bars.png (100%) rename assets/{art => extra}/ui/bars.png.import (73%) create mode 100644 assets/source files/.gdignore create mode 100644 assets/source files/Blob.aseprite rename assets/{binary files => source files}/NPC_Characters_v1.0/Female1.png (100%) create mode 100644 assets/source files/NPC_Characters_v1.0/Female1.png.import rename assets/{binary files => source files}/NPC_Characters_v1.0/Female2.png (100%) create mode 100644 assets/source files/NPC_Characters_v1.0/Female2.png.import rename assets/{binary files => source files}/NPC_Characters_v1.0/Male1.png (100%) create mode 100644 assets/source files/NPC_Characters_v1.0/Male1.png.import rename assets/{binary files => source files}/NPC_Characters_v1.0/Male2.png (100%) create mode 100644 assets/source files/NPC_Characters_v1.0/Male2.png.import rename assets/{binary files => source files}/NPC_Characters_v1.0/Male3.png (100%) create mode 100644 assets/source files/NPC_Characters_v1.0/Male3.png.import rename assets/{binary files => source files}/NPC_Characters_v1.0/Male4.png (100%) create mode 100644 assets/source files/NPC_Characters_v1.0/Male4.png.import rename assets/{binary files => source files}/NPC_Characters_v1.0/_INFO.txt (100%) rename assets/{binary files => source files}/NPC_Characters_v1.0/_PSD/Female1.psd (100%) rename assets/{binary files => source files}/NPC_Characters_v1.0/_PSD/Female2.psd (100%) rename assets/{binary files => source files}/NPC_Characters_v1.0/_PSD/Male1.psd (100%) rename assets/{binary files => source files}/NPC_Characters_v1.0/_PSD/Male2.psd (100%) rename assets/{binary files => source files}/NPC_Characters_v1.0/_PSD/Male3.psd (100%) rename assets/{binary files => source files}/NPC_Characters_v1.0/_PSD/Male4.psd (100%) rename assets/{binary files => source files}/NPC_Characters_v1.0/_license.txt (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/MainLev2.0.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/MainLev_autotiling.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/MainLev_autotiling.png.import (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/_license.txt (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/tree1A_ss.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/tree1A_ss.png.import (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/tree1B_ss.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/tree1B_ss.png.import (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/tree1C_ss.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/tree1C_ss.png.import (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/tree1D_ss.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/tree1D_ss.png.import (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/tree2A_ss.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/tree2A_ss.png.import (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/tree2B_ss.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/tree2B_ss.png.import (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/tree2C_ss.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/tree2C_ss.png.import (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/tree2D_ss.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/tree2D_ss.png.import (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/tree3A_ss.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/tree3A_ss.png.import (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/tree3B_ss.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/tree3B_ss.png.import (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/tree3C_ss.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/tree3C_ss.png.import (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/tree3D_ss.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/tree3D_ss.png.import (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/water/Water_tafle_1A.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/water/Water_tafle_1A.png.import (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/water/Water_tafle_1B.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/water/Water_tafle_1B.png.import (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/water/Water_tafle_2A.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/water/Water_tafle_2A.png.import (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/water/Water_tafle_2B.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/water/Water_tafle_2B.png.import (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/water/Water_tafle_3A.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/water/Water_tafle_3A.png.import (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/water/Water_tafle_3B.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/water/Water_tafle_3B.png.import (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/water/Water_tafle_4A.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/water/Water_tafle_4A.png.import (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/water/Water_tafle_4B.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/water/Water_tafle_4B.png.import (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/water/water_layerA_ef.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/water/water_layerA_ef.png.import (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/water/water_layerB_ef.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/anim/water/water_layerB_ef.png.import (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/decorative.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/decorative.png.import (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/decorative_nograss.png (100%) rename assets/{binary files => source files}/tile sets/RPGW_GrassLand_v2.01/decorative_nograss.png.import (100%) rename assets/{binary files => source files}/tile sets/Village_AnimatedWaterTiles.png (100%) rename assets/{binary files => source files}/tile sets/Village_AnimatedWaterTiles.png.import (100%) rename assets/{binary files => source files}/tile sets/Village_BuildingTiles.png (100%) rename assets/{binary files => source files}/tile sets/Village_BuildingTiles.png.import (100%) rename assets/{binary files => source files}/tile sets/Village_ObjectTiles.png (100%) rename assets/{binary files => source files}/tile sets/Village_ObjectTiles.png.import (100%) rename assets/{binary files => source files}/tile sets/Village_TerrainTiles.png (100%) rename assets/{binary files => source files}/tile sets/Village_TerrainTiles.png.import (100%) create mode 100644 systems/combat/common actions/action_attack.gd create mode 100644 systems/combat/ui/combat_log.gd create mode 100644 systems/combat/ui/combat_log.tscn create mode 100644 testing/art/MainLev2.0.png create mode 100644 testing/art/MainLev2.0.png.import create mode 100644 testing/art/decorative.png create mode 100644 testing/art/decorative.png.import create mode 100644 testing/art/tree1B_ss.png create mode 100644 testing/art/tree1B_ss.png.import create mode 100644 testing/art/tree1D_ss.png create mode 100644 testing/art/tree1D_ss.png.import diff --git a/.vscode/settings.json b/.vscode/settings.json index 3c0aab2..e69de29 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -1,3 +0,0 @@ -{ - "godotTools.editorPath.godot4": "/home/joey/Programs/Godot_v4.2.2-stable_linux.x86_64" -} \ No newline at end of file diff --git a/actors/actor.gd b/actors/actor.gd new file mode 100644 index 0000000..5bcfc8d --- /dev/null +++ b/actors/actor.gd @@ -0,0 +1,3 @@ + +class_name Actor +extends Node2D \ No newline at end of file diff --git a/actors/enemies/blob/art/Blob.png b/actors/enemies/blob/art/Blob.png new file mode 100644 index 0000000..5fff121 --- /dev/null +++ b/actors/enemies/blob/art/Blob.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3b7d7beaaf6a3af9f1ae2d6bb6d415f3cb2e04dd36142b4df3a5e1650108a024 +size 449 diff --git a/actors/enemies/blob/art/Blob.png.import b/actors/enemies/blob/art/Blob.png.import new file mode 100644 index 0000000..99d9e3f --- /dev/null +++ b/actors/enemies/blob/art/Blob.png.import @@ -0,0 +1,34 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dd73lco3o6w4f" +path="res://.godot/imported/Blob.png-1c6e25fee902453014828903c414f9b3.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://actors/enemies/blob/art/Blob.png" +dest_files=["res://.godot/imported/Blob.png-1c6e25fee902453014828903c414f9b3.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/actors/enemies/blob/blob.gd b/actors/enemies/blob/blob.gd new file mode 100644 index 0000000..1e2c7f3 --- /dev/null +++ b/actors/enemies/blob/blob.gd @@ -0,0 +1,10 @@ + +class_name Blob +extends EnemyCharacter + +func get_combatant_component(): + return $Combatant + + +func _ready(): + $AnimatedSprite2D.play("Idle") diff --git a/actors/enemies/blob/blob.tscn b/actors/enemies/blob/blob.tscn new file mode 100644 index 0000000..5c2109a --- /dev/null +++ b/actors/enemies/blob/blob.tscn @@ -0,0 +1,55 @@ +[gd_scene load_steps=9 format=3 uid="uid://dwi00nixw6eia"] + +[ext_resource type="Script" path="res://actors/enemies/blob/blob.gd" id="1_e8a40"] +[ext_resource type="Texture2D" uid="uid://dd73lco3o6w4f" path="res://actors/enemies/blob/art/Blob.png" id="2_ej213"] +[ext_resource type="Script" path="res://systems/combat/combatant.gd" id="3_mqgr1"] +[ext_resource type="Script" path="res://systems/combat/combat_stats.gd" id="4_22gbw"] + +[sub_resource type="AtlasTexture" id="AtlasTexture_m73y6"] +atlas = ExtResource("2_ej213") +region = Rect2(0, 0, 32, 32) + +[sub_resource type="AtlasTexture" id="AtlasTexture_1g2yn"] +atlas = ExtResource("2_ej213") +region = Rect2(32, 0, 32, 32) + +[sub_resource type="SpriteFrames" id="SpriteFrames_p36og"] +animations = [{ +"frames": [{ +"duration": 1.0, +"texture": SubResource("AtlasTexture_m73y6") +}, { +"duration": 1.0, +"texture": SubResource("AtlasTexture_1g2yn") +}], +"loop": true, +"name": &"Idle", +"speed": 3.0 +}] + +[sub_resource type="Resource" id="Resource_46v15"] +script = ExtResource("4_22gbw") +max_hp = 10 +max_physical_stamina = 10 +max_mental_stamina = 10 +strength = 1 +wisdom = 1 +constitution = 1 +willpower = 1 +speed = 1 +focus = 1 +accuracy = 1 +agility = 1 + +[node name="Blob" type="Node2D"] +script = ExtResource("1_e8a40") + +[node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] +texture_filter = 1 +sprite_frames = SubResource("SpriteFrames_p36og") +animation = &"Idle" +frame_progress = 0.110573 + +[node name="Combatant" type="Node" parent="."] +script = ExtResource("3_mqgr1") +combat_stats = SubResource("Resource_46v15") diff --git a/actors/enemies/enemy_character.gd b/actors/enemies/enemy_character.gd index 1851ead..17e3a8d 100644 --- a/actors/enemies/enemy_character.gd +++ b/actors/enemies/enemy_character.gd @@ -1,3 +1,3 @@ class_name EnemyCharacter -extends Node2D \ No newline at end of file +extends Actor diff --git a/actors/player chars/alex/alex.gd b/actors/player chars/alex/alex.gd index afdde77..14b29f2 100644 --- a/actors/player chars/alex/alex.gd +++ b/actors/player chars/alex/alex.gd @@ -2,3 +2,5 @@ class_name Alex extends PlayerCharacter +func get_combatant_component(): + return $Combatant diff --git a/actors/player chars/alex/alex.tscn b/actors/player chars/alex/alex.tscn index 282b890..94dc02b 100644 --- a/actors/player chars/alex/alex.tscn +++ b/actors/player chars/alex/alex.tscn @@ -1,7 +1,10 @@ -[gd_scene load_steps=16 format=3 uid="uid://d1nq0efa53wra"] +[gd_scene load_steps=21 format=3 uid="uid://d1nq0efa53wra"] -[ext_resource type="Script" path="res://actors/player chars/player_character.gd" id="1_l60p5"] -[ext_resource type="Texture2D" uid="uid://cs6uqgpyvwy7r" path="res://assets/art/character sprites/alex.png" id="2_2yoh5"] +[ext_resource type="Script" path="res://actors/player chars/alex/alex.gd" id="1_3ppui"] +[ext_resource type="Texture2D" uid="uid://cs6uqgpyvwy7r" path="res://actors/player chars/alex/art/alex.png" id="2_2yoh5"] +[ext_resource type="Script" path="res://systems/combat/combatant.gd" id="3_m4k76"] +[ext_resource type="Script" path="res://systems/combat/combat_stats.gd" id="4_6ae2h"] +[ext_resource type="Script" path="res://systems/combat/common actions/action_attack.gd" id="5_dhgwv"] [sub_resource type="AtlasTexture" id="AtlasTexture_u1hru"] atlas = ExtResource("2_2yoh5") @@ -129,11 +132,34 @@ animations = [{ "speed": 5.0 }] +[sub_resource type="Resource" id="Resource_y86ab"] +script = ExtResource("4_6ae2h") +max_hp = 100 +max_physical_stamina = 10 +max_mental_stamina = 10 +strength = 5 +wisdom = 1 +constitution = 2 +willpower = 1 +speed = 1 +focus = 1 +accuracy = 1 +agility = 1 + +[sub_resource type="Resource" id="Resource_2d861"] +script = ExtResource("5_dhgwv") + [node name="Alex" type="Node2D" node_paths=PackedStringArray("sprite")] -script = ExtResource("1_l60p5") +script = ExtResource("1_3ppui") char_name = "Alex" sprite = NodePath("AnimatedSprite2D") [node name="AnimatedSprite2D" type="AnimatedSprite2D" parent="."] +texture_filter = 1 sprite_frames = SubResource("SpriteFrames_vu5b1") animation = &"Idle_West" + +[node name="Combatant" type="Node" parent="."] +script = ExtResource("3_m4k76") +combat_stats = SubResource("Resource_y86ab") +actions = Array[Resource("res://systems/combat/combat_action.gd")]([SubResource("Resource_2d861")]) diff --git a/assets/art/character sprites/alex.png b/actors/player chars/alex/art/alex.png similarity index 100% rename from assets/art/character sprites/alex.png rename to actors/player chars/alex/art/alex.png diff --git a/assets/art/character sprites/alex.png.import b/actors/player chars/alex/art/alex.png.import similarity index 71% rename from assets/art/character sprites/alex.png.import rename to actors/player chars/alex/art/alex.png.import index 207f88d..25534ff 100644 --- a/assets/art/character sprites/alex.png.import +++ b/actors/player chars/alex/art/alex.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://cs6uqgpyvwy7r" -path="res://.godot/imported/alex.png-d2fbd360031d0aeabb7ca94deee40098.ctex" +path="res://.godot/imported/alex.png-56d47e9a77a03f088a2e0c12cdb4ed2d.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/art/character sprites/alex.png" -dest_files=["res://.godot/imported/alex.png-d2fbd360031d0aeabb7ca94deee40098.ctex"] +source_file="res://actors/player chars/alex/art/alex.png" +dest_files=["res://.godot/imported/alex.png-56d47e9a77a03f088a2e0c12cdb4ed2d.ctex"] [params] diff --git a/actors/player chars/player_character.gd b/actors/player chars/player_character.gd index c798149..75f2283 100644 --- a/actors/player chars/player_character.gd +++ b/actors/player chars/player_character.gd @@ -1,6 +1,6 @@ class_name PlayerCharacter -extends Node2D +extends Actor enum FacingDirection { diff --git a/assets/binary files/.gdignore b/assets/binary files/.gdignore deleted file mode 100644 index 8d1c8b6..0000000 --- a/assets/binary files/.gdignore +++ /dev/null @@ -1 +0,0 @@ - diff --git a/assets/binary files/tile sets/RPGW_GrassLand_v2.01/MainLev2.0.png.import b/assets/binary files/tile sets/RPGW_GrassLand_v2.01/MainLev2.0.png.import deleted file mode 100644 index 3d24aff..0000000 --- a/assets/binary files/tile sets/RPGW_GrassLand_v2.01/MainLev2.0.png.import +++ /dev/null @@ -1,34 +0,0 @@ -[remap] - -importer="texture" -type="CompressedTexture2D" -uid="uid://dxqymswxvgfax" -path="res://.godot/imported/MainLev2.0.png-c0f0144cffd3ebe82e6676edefbdd261.ctex" -metadata={ -"vram_texture": false -} - -[deps] - -source_file="res://assets/binary files/tile sets/RPGW_GrassLand_v2.01/MainLev2.0.png" -dest_files=["res://.godot/imported/MainLev2.0.png-c0f0144cffd3ebe82e6676edefbdd261.ctex"] - -[params] - -compress/mode=0 -compress/high_quality=false -compress/lossy_quality=0.7 -compress/hdr_compression=1 -compress/normal_map=0 -compress/channel_pack=0 -mipmaps/generate=false -mipmaps/limit=-1 -roughness/mode=0 -roughness/src_normal="" -process/fix_alpha_border=true -process/premult_alpha=false -process/normal_map_invert_y=false -process/hdr_as_srgb=false -process/hdr_clamp_exposure=false -process/size_limit=0 -detect_3d/compress_to=1 diff --git a/assets/art/character sprites/Szadi NPCs/Female1.png b/assets/extra/character sprites/Szadi NPCs/Female1.png similarity index 100% rename from assets/art/character sprites/Szadi NPCs/Female1.png rename to assets/extra/character sprites/Szadi NPCs/Female1.png diff --git a/assets/art/character sprites/Szadi NPCs/Female1.png.import b/assets/extra/character sprites/Szadi NPCs/Female1.png.import similarity index 69% rename from assets/art/character sprites/Szadi NPCs/Female1.png.import rename to assets/extra/character sprites/Szadi NPCs/Female1.png.import index 1e32c2b..a653926 100644 --- a/assets/art/character sprites/Szadi NPCs/Female1.png.import +++ b/assets/extra/character sprites/Szadi NPCs/Female1.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://uvm83t4gchb7" -path="res://.godot/imported/Female1.png-751b04120ba1352265921310378ca8c2.ctex" +path="res://.godot/imported/Female1.png-2eec5ea28254392b2e95464ad0a94372.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/art/character sprites/Szadi NPCs/Female1.png" -dest_files=["res://.godot/imported/Female1.png-751b04120ba1352265921310378ca8c2.ctex"] +source_file="res://assets/extra/character sprites/Szadi NPCs/Female1.png" +dest_files=["res://.godot/imported/Female1.png-2eec5ea28254392b2e95464ad0a94372.ctex"] [params] diff --git a/assets/art/character sprites/Szadi NPCs/Female2.png b/assets/extra/character sprites/Szadi NPCs/Female2.png similarity index 100% rename from assets/art/character sprites/Szadi NPCs/Female2.png rename to assets/extra/character sprites/Szadi NPCs/Female2.png diff --git a/assets/art/character sprites/Szadi NPCs/Female2.png.import b/assets/extra/character sprites/Szadi NPCs/Female2.png.import similarity index 69% rename from assets/art/character sprites/Szadi NPCs/Female2.png.import rename to assets/extra/character sprites/Szadi NPCs/Female2.png.import index 77ee4c9..4c12baa 100644 --- a/assets/art/character sprites/Szadi NPCs/Female2.png.import +++ b/assets/extra/character sprites/Szadi NPCs/Female2.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://cgc15eklb3nu" -path="res://.godot/imported/Female2.png-c21c085d5b87f05b39035afefe476932.ctex" +path="res://.godot/imported/Female2.png-01de3d78f89683cfbbe8e8792cc6bd08.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/art/character sprites/Szadi NPCs/Female2.png" -dest_files=["res://.godot/imported/Female2.png-c21c085d5b87f05b39035afefe476932.ctex"] +source_file="res://assets/extra/character sprites/Szadi NPCs/Female2.png" +dest_files=["res://.godot/imported/Female2.png-01de3d78f89683cfbbe8e8792cc6bd08.ctex"] [params] diff --git a/assets/art/character sprites/Szadi NPCs/Male1.png b/assets/extra/character sprites/Szadi NPCs/Male1.png similarity index 100% rename from assets/art/character sprites/Szadi NPCs/Male1.png rename to assets/extra/character sprites/Szadi NPCs/Male1.png diff --git a/assets/art/character sprites/Szadi NPCs/Male1.png.import b/assets/extra/character sprites/Szadi NPCs/Male1.png.import similarity index 70% rename from assets/art/character sprites/Szadi NPCs/Male1.png.import rename to assets/extra/character sprites/Szadi NPCs/Male1.png.import index 7107a72..9385ce8 100644 --- a/assets/art/character sprites/Szadi NPCs/Male1.png.import +++ b/assets/extra/character sprites/Szadi NPCs/Male1.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://4h8n71pv0rte" -path="res://.godot/imported/Male1.png-7e24926694ba397cd822ce2fe47dd922.ctex" +path="res://.godot/imported/Male1.png-963f24f22d76f069f012c827a633bb63.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/art/character sprites/Szadi NPCs/Male1.png" -dest_files=["res://.godot/imported/Male1.png-7e24926694ba397cd822ce2fe47dd922.ctex"] +source_file="res://assets/extra/character sprites/Szadi NPCs/Male1.png" +dest_files=["res://.godot/imported/Male1.png-963f24f22d76f069f012c827a633bb63.ctex"] [params] diff --git a/assets/art/character sprites/Szadi NPCs/Male2.png b/assets/extra/character sprites/Szadi NPCs/Male2.png similarity index 100% rename from assets/art/character sprites/Szadi NPCs/Male2.png rename to assets/extra/character sprites/Szadi NPCs/Male2.png diff --git a/assets/art/character sprites/Szadi NPCs/Male2.png.import b/assets/extra/character sprites/Szadi NPCs/Male2.png.import similarity index 70% rename from assets/art/character sprites/Szadi NPCs/Male2.png.import rename to assets/extra/character sprites/Szadi NPCs/Male2.png.import index a55f0cd..7c50652 100644 --- a/assets/art/character sprites/Szadi NPCs/Male2.png.import +++ b/assets/extra/character sprites/Szadi NPCs/Male2.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://daq5hi7v0qbys" -path="res://.godot/imported/Male2.png-383cd63349d8e1441ed489d992446ce6.ctex" +path="res://.godot/imported/Male2.png-457a0ef9a2428d306d6490ae1fdbea89.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/art/character sprites/Szadi NPCs/Male2.png" -dest_files=["res://.godot/imported/Male2.png-383cd63349d8e1441ed489d992446ce6.ctex"] +source_file="res://assets/extra/character sprites/Szadi NPCs/Male2.png" +dest_files=["res://.godot/imported/Male2.png-457a0ef9a2428d306d6490ae1fdbea89.ctex"] [params] diff --git a/assets/art/character sprites/Szadi NPCs/Male3.png b/assets/extra/character sprites/Szadi NPCs/Male3.png similarity index 100% rename from assets/art/character sprites/Szadi NPCs/Male3.png rename to assets/extra/character sprites/Szadi NPCs/Male3.png diff --git a/assets/art/character sprites/Szadi NPCs/Male3.png.import b/assets/extra/character sprites/Szadi NPCs/Male3.png.import similarity index 70% rename from assets/art/character sprites/Szadi NPCs/Male3.png.import rename to assets/extra/character sprites/Szadi NPCs/Male3.png.import index 2531998..4e8dc7a 100644 --- a/assets/art/character sprites/Szadi NPCs/Male3.png.import +++ b/assets/extra/character sprites/Szadi NPCs/Male3.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://cj13x130gdhv3" -path="res://.godot/imported/Male3.png-30f6f69b4fbf36e0cd2cc492c4dbe0f2.ctex" +path="res://.godot/imported/Male3.png-b2d56b3ab554af3a5ebd939e18716414.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/art/character sprites/Szadi NPCs/Male3.png" -dest_files=["res://.godot/imported/Male3.png-30f6f69b4fbf36e0cd2cc492c4dbe0f2.ctex"] +source_file="res://assets/extra/character sprites/Szadi NPCs/Male3.png" +dest_files=["res://.godot/imported/Male3.png-b2d56b3ab554af3a5ebd939e18716414.ctex"] [params] diff --git a/assets/art/character sprites/Szadi NPCs/Male4.png b/assets/extra/character sprites/Szadi NPCs/Male4.png similarity index 100% rename from assets/art/character sprites/Szadi NPCs/Male4.png rename to assets/extra/character sprites/Szadi NPCs/Male4.png diff --git a/assets/art/character sprites/Szadi NPCs/Male4.png.import b/assets/extra/character sprites/Szadi NPCs/Male4.png.import similarity index 70% rename from assets/art/character sprites/Szadi NPCs/Male4.png.import rename to assets/extra/character sprites/Szadi NPCs/Male4.png.import index 62a4902..699a579 100644 --- a/assets/art/character sprites/Szadi NPCs/Male4.png.import +++ b/assets/extra/character sprites/Szadi NPCs/Male4.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://biv828180br3o" -path="res://.godot/imported/Male4.png-4f84124cbebb5fd4c9ec637846a7c80c.ctex" +path="res://.godot/imported/Male4.png-587a54eeb23dff76c97924ec7f3ba382.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/art/character sprites/Szadi NPCs/Male4.png" -dest_files=["res://.godot/imported/Male4.png-4f84124cbebb5fd4c9ec637846a7c80c.ctex"] +source_file="res://assets/extra/character sprites/Szadi NPCs/Male4.png" +dest_files=["res://.godot/imported/Male4.png-587a54eeb23dff76c97924ec7f3ba382.ctex"] [params] diff --git a/assets/art/tile sets/Village_AnimatedWaterTiles.png.import b/assets/extra/tile sets/Village_AnimatedWaterTiles.png.import similarity index 100% rename from assets/art/tile sets/Village_AnimatedWaterTiles.png.import rename to assets/extra/tile sets/Village_AnimatedWaterTiles.png.import diff --git a/assets/art/tile sets/Village_BuildingTiles.png.import b/assets/extra/tile sets/Village_BuildingTiles.png.import similarity index 100% rename from assets/art/tile sets/Village_BuildingTiles.png.import rename to assets/extra/tile sets/Village_BuildingTiles.png.import diff --git a/assets/art/tile sets/Village_ObjectTiles.png.import b/assets/extra/tile sets/Village_ObjectTiles.png.import similarity index 100% rename from assets/art/tile sets/Village_ObjectTiles.png.import rename to assets/extra/tile sets/Village_ObjectTiles.png.import diff --git a/assets/art/tile sets/Village_TerrainTiles.png.import b/assets/extra/tile sets/Village_TerrainTiles.png.import similarity index 100% rename from assets/art/tile sets/Village_TerrainTiles.png.import rename to assets/extra/tile sets/Village_TerrainTiles.png.import diff --git a/assets/art/ui/bar_over.png b/assets/extra/ui/bar_over.png similarity index 100% rename from assets/art/ui/bar_over.png rename to assets/extra/ui/bar_over.png diff --git a/assets/art/ui/bar_over.png.import b/assets/extra/ui/bar_over.png.import similarity index 71% rename from assets/art/ui/bar_over.png.import rename to assets/extra/ui/bar_over.png.import index 461c1e0..c43f2cb 100644 --- a/assets/art/ui/bar_over.png.import +++ b/assets/extra/ui/bar_over.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://bnp5t7o26kb0c" -path="res://.godot/imported/bar_over.png-55a6bae0151fad781ffcae0da3dc8d8b.ctex" +path="res://.godot/imported/bar_over.png-845363e26d1dc5930d27712ba94e0f91.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/art/ui/bar_over.png" -dest_files=["res://.godot/imported/bar_over.png-55a6bae0151fad781ffcae0da3dc8d8b.ctex"] +source_file="res://assets/extra/ui/bar_over.png" +dest_files=["res://.godot/imported/bar_over.png-845363e26d1dc5930d27712ba94e0f91.ctex"] [params] diff --git a/assets/art/ui/bar_under.png b/assets/extra/ui/bar_under.png similarity index 100% rename from assets/art/ui/bar_under.png rename to assets/extra/ui/bar_under.png diff --git a/assets/art/ui/bar_under.png.import b/assets/extra/ui/bar_under.png.import similarity index 71% rename from assets/art/ui/bar_under.png.import rename to assets/extra/ui/bar_under.png.import index c666cd6..1265be9 100644 --- a/assets/art/ui/bar_under.png.import +++ b/assets/extra/ui/bar_under.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://dqf1p1mfki3vc" -path="res://.godot/imported/bar_under.png-f50ef5b32422e97a71938bac527202bf.ctex" +path="res://.godot/imported/bar_under.png-640e8ada6e2e3b0f68aea5197ab95723.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/art/ui/bar_under.png" -dest_files=["res://.godot/imported/bar_under.png-f50ef5b32422e97a71938bac527202bf.ctex"] +source_file="res://assets/extra/ui/bar_under.png" +dest_files=["res://.godot/imported/bar_under.png-640e8ada6e2e3b0f68aea5197ab95723.ctex"] [params] diff --git a/assets/art/ui/bars.png b/assets/extra/ui/bars.png similarity index 100% rename from assets/art/ui/bars.png rename to assets/extra/ui/bars.png diff --git a/assets/art/ui/bars.png.import b/assets/extra/ui/bars.png.import similarity index 73% rename from assets/art/ui/bars.png.import rename to assets/extra/ui/bars.png.import index c147484..2b8ae20 100644 --- a/assets/art/ui/bars.png.import +++ b/assets/extra/ui/bars.png.import @@ -3,15 +3,15 @@ importer="texture" type="CompressedTexture2D" uid="uid://dusv2g2bfou5l" -path="res://.godot/imported/bars.png-44ddffd67a1ebda120adc0b0e3911832.ctex" +path="res://.godot/imported/bars.png-fcaf8e549b67a5e765aebf41c3229fd3.ctex" metadata={ "vram_texture": false } [deps] -source_file="res://assets/art/ui/bars.png" -dest_files=["res://.godot/imported/bars.png-44ddffd67a1ebda120adc0b0e3911832.ctex"] +source_file="res://assets/extra/ui/bars.png" +dest_files=["res://.godot/imported/bars.png-fcaf8e549b67a5e765aebf41c3229fd3.ctex"] [params] diff --git a/assets/source files/.gdignore b/assets/source files/.gdignore new file mode 100644 index 0000000..e69de29 diff --git a/assets/source files/Blob.aseprite b/assets/source files/Blob.aseprite new file mode 100644 index 0000000000000000000000000000000000000000..314f085199e8bbf64ca7e1b344a975df3d57242a GIT binary patch literal 794 zcmcJM0ZUU+7>1AL5Je)Rf-T5Pj3&fzPAS%=3!$X0kXS7EJ5baSEp0{xD;pbT z(B?J`(u!=1pb`xtFd^8+T)AX(uA+@7YAZFwR@~mLDE~m;;XHht%i(>#dw6RIc{7ql zb`uIKix8s1{#Q6lACh%g|Dy)73Hkn&lS$#es6Qt~tG;AfmXNJf zIk=}-2C5~cphY1CU$<`qLpRi5VsZdXE$jeo@mi31A_8|_YXxad30Oz-L9t8%%H=vx zbo@Mcto1F}Y-hnnUkvoj{Qy}MA$Hdoc+p@4H4FnDRn&o}s(QhDVlfyx(hSaaO@Nl` z`@!Be5zAnJob-RE&|nBm0DZVa9M({VFJxf~O*ldjc2I*Cq+kS{vI zOavkgQAOz_3eWwwpg?j-%?W)=2US`K2M$G`l1*4V%I~TmTgYk0=b1p>q^KZg+BDOb zKhM|dhRxH5^Y`U#Fx?l@0cX7Sf}yJ4b8w@OX7#c$p>WFe(isWg4J1Fdmq)i-A4Ws- zijo)RZiDa3nI3b~W3FE4e&t(gSmY;{1=aCHgWRgr-kNgw&l&CG2Zr0mRaezdJy*g4 zS4wLuDC-!ie}Cs&r84^9_F(GSJ86^MpXk4&);t>FT7!-Wde+S(J{Vhumei5NXnoD1 zZE%@)^QXVKGZxxw?XwjwoD_8>aUoWDdDq