add placeholder classes for Zone, Area, Ability, and AbilityA1

This commit is contained in:
tonydero 2024-10-13 20:42:32 -06:00
parent eea96ea633
commit 44d18e0168
5 changed files with 70 additions and 0 deletions

5
scripts/Area.gd Normal file
View File

@ -0,0 +1,5 @@
class_name Area
extends Sprite2D
# defines the parameters for spawning enemies within an area

5
scripts/ability.gd Normal file
View File

@ -0,0 +1,5 @@
class_name Ability
extends Sprite2D
# basis for the 6 abilities

5
scripts/abilityA1.gd Normal file
View File

@ -0,0 +1,5 @@
class_name AbilityA1
extends Ability
# defines the unique characteristics of the A1 abilities

50
scripts/enemy.gd Normal file
View File

@ -0,0 +1,50 @@
class_name NPC
extends Character
enum npcDifficulties { MINION, NORMAL, ELITE, BOSS, ELITEBOSS, BBEG }
enum npcTiers { I, II, III, IV, V, VI, VII, VIII, IX, X }
@export var npcDifficulty: npcDifficulties
@export var npcTier: npcTiers
func _random_mod_health() -> void:
randomize()
# noise factor
var noise_factor = randf_range(7, 10)
self.maxHealth *= noise_factor
# difficulty factor
match self.npcDifficulty:
npcDifficulties.MINION:
self.maxHealth /= 2
npcDifficulties.ELITE:
self.maxHealth *= 2
npcDifficulties.BOSS:
self.maxHealth *= 4
npcDifficulties.ELITEBOSS:
self.maxHealth *= 8
npcDifficulties.BBEG:
self.maxHealth *= 16
# npcTier factor
self.maxHealth *= exp(self.npcTier)
# fun factor (just additional factor to tweak)
self.maxHealth *= 10
func _init() -> void:
self.npcDifficulty = npcDifficulties.NORMAL
self.npcTier = npcTiers.I
func _ready() -> void:
# add to enemies
add_to_group("enemies")
# modify max health value based on the various factors
_random_mod_health()
func _process(delta: float) -> void:
# if damageTaken > maxHealth:
# self.free()?
# send signal that I died to be counted, etc.
pass

5
scripts/zone.gd Normal file
View File

@ -0,0 +1,5 @@
class_name Zone
extends Sprite2D
# zone class defines all parameters for creating areas within itself