inching towards better class inheritence and multiplayer compatibility

This commit is contained in:
2023-11-15 15:19:40 +11:00
parent f004f64b71
commit 1500c22ccc
204 changed files with 1920 additions and 1951 deletions
Assets
PCs
Blue
Green
Red
Universal
ClassCards
Assault
Blowdart
BombLauncher
DamageEnhancer
Fireball
GammaLaser
Gatling
GlueLauncher
Icicle
Lightning
Reactor
Refridgerator
RocketLauncher
Sniper
SpeedEnhancer
hero.gdhero.tscn
Resources
Scenes
Scripts
Worlds/GreenPlanet

@ -1,7 +0,0 @@
extends Resource
class_name TowerStats
@export var can_target : Data.TargetType
@export var damage := 10.0
@export var fire_range := 20.0
@export var fire_rate := 1.0

@ -1,6 +0,0 @@
extends Resource
class_name WeaponStats
@export var damage : int
@export var fire_rate : float
@export var fire_range : float

@ -1,13 +1,13 @@
extends Resource
class_name Card
enum Faction {GENERIC}
enum Faction {GENERIC = 0}
@export var title : String
@export var rarity : Data.Rarity
@export var faction : Faction
@export var faction : Faction
@export var sprite : AtlasTexture
@export var turret : PackedScene
@export var weapon : PackedScene
@export var weapon_stats : WeaponStats
@export var tower_stats : TowerStats
@export var turret_scene : PackedScene
@export var weapon_scene : PackedScene
@export var weapon_stats : CardText
@export var tower_stats : CardText

@ -0,0 +1,13 @@
extends Resource
class_name CardText
@export var target_type : Data.TargetType
@export var attributes : Array[StatAttribute]
@export_multiline var text : String
func get_attribute(attribute : String) -> float:
for stat in attributes:
if stat.key == attribute:
return stat.value
return 0.0

@ -0,0 +1,5 @@
extends Resource
class_name StatAttribute
@export var key : String
@export var value : float