Changes several hp and damage numbers to get slightly better balance
parent
ec27fa03e4
commit
76e36c7c9c
|
|
@ -5,6 +5,7 @@ func _ready() -> void:
|
|||
speed = 15.0
|
||||
max_hp = 25
|
||||
hp = max_hp
|
||||
damage = 5
|
||||
# $Area2D.body_entered.connect(_on_area_2d_body_entered)
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ func _ready() -> void:
|
|||
speed = 15.0
|
||||
max_hp = 50
|
||||
hp = max_hp
|
||||
damage = 10
|
||||
$Area2D.body_entered.connect(_on_area_2d_body_entered)
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
|
|
|
|||
|
|
@ -16,6 +16,7 @@ var _knife_timer: float = 0.0
|
|||
var spellbook_scene = preload("res://scenes/spellbook.tscn")
|
||||
var spellbook_count: int = 0
|
||||
var spellbook_damage: int = 12
|
||||
const SPELLBOOK_MAX_DAMAGE: int = 40
|
||||
var spellbook_speed: float = 1.5
|
||||
const SPELLBOOK_RADIUS: float = 60.0
|
||||
var _spellbook_angle: float = 0.0
|
||||
|
|
@ -68,8 +69,8 @@ func _ready() -> void:
|
|||
|
||||
var dsh = Perk.new()
|
||||
dsh.name = "Double Shuriken"
|
||||
dsh.description = "Fire two shurikens at once"
|
||||
dsh.stats = _stat("Shurikens", "1", "2")
|
||||
dsh.description = "Fire two more shurikens at once"
|
||||
dsh.stats = _stat("Shurikens", str(witch.shuriken_count), str(witch.shuriken_count + 2))
|
||||
dsh.spell = SpellLibrary.SHURIKEN
|
||||
dsh.icon = _icon_shuriken
|
||||
dsh.effect = double_shuriken
|
||||
|
|
@ -84,6 +85,15 @@ func _ready() -> void:
|
|||
faoe.effect = fireball_aoe
|
||||
available_perks.append(faoe)
|
||||
|
||||
var fsp = Perk.new()
|
||||
fsp.name = "Fireball Spread"
|
||||
fsp.description = "Fireballs target more enemies"
|
||||
fsp.stats = _stat("Targets", str(witch.fireball_max_targets), str(witch.fireball_max_targets + 3))
|
||||
fsp.spell = SpellLibrary.FIREBALL
|
||||
fsp.icon = _icon_fireball
|
||||
fsp.effect = fireball_spread
|
||||
available_perks.append(fsp)
|
||||
|
||||
var bexp = Perk.new()
|
||||
bexp.name = "Brew Explosion"
|
||||
bexp.description = "Trigger an explosion on brew"
|
||||
|
|
@ -154,11 +164,14 @@ func laser_retarget():
|
|||
laser_retarget_enabled = true
|
||||
|
||||
func double_shuriken():
|
||||
witch.shuriken_count = 2
|
||||
witch.shuriken_count += 2
|
||||
|
||||
func fireball_aoe():
|
||||
fireball_aoe_enabled = true
|
||||
|
||||
func fireball_spread():
|
||||
witch.fireball_max_targets += 3
|
||||
|
||||
func brew_explosion():
|
||||
cauldron.brew_explosion = true
|
||||
|
||||
|
|
@ -255,13 +268,14 @@ func faster_orbit() -> void:
|
|||
available_perks.append(fo)
|
||||
|
||||
func book_damage() -> void:
|
||||
spellbook_damage += 4
|
||||
spellbook_damage = min(spellbook_damage + 4, SPELLBOOK_MAX_DAMAGE)
|
||||
for book in _spellbooks:
|
||||
book.damage = spellbook_damage
|
||||
if spellbook_damage < SPELLBOOK_MAX_DAMAGE:
|
||||
var bd = Perk.new()
|
||||
bd.name = "Book Damage"
|
||||
bd.description = "Books hit harder"
|
||||
bd.stats = _stat("Damage", str(spellbook_damage), str(spellbook_damage + 4))
|
||||
bd.stats = _stat("Damage", str(spellbook_damage), str(min(spellbook_damage + 4, SPELLBOOK_MAX_DAMAGE)))
|
||||
bd.icon = _icon_book
|
||||
bd.effect = book_damage
|
||||
available_perks.append(bd)
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ var elapsed_time: float = 0.0
|
|||
|
||||
const STAGES_JSON = "res://data/spawn_stages.json"
|
||||
|
||||
const ELITE_HP_MULT := 10
|
||||
const ELITE_HP_MULT := 20
|
||||
const ELITE_SPD_MULT := 0.25
|
||||
const ELITE_SCALE := 3.0
|
||||
|
||||
|
|
|
|||
|
|
@ -13,9 +13,10 @@ var shuriken_count = 1
|
|||
var _fire_sfx = preload("res://assets/music&sfx/sfx/fire.wav")
|
||||
var _laser_sfx = preload("res://assets/music&sfx/sfx/laser.wav")
|
||||
|
||||
var max_hp: int = 100
|
||||
var current_hp: int = 100
|
||||
var max_hp: int = 50
|
||||
var current_hp: int = 50
|
||||
var is_invincible: bool = false
|
||||
var fireball_max_targets: int = 5
|
||||
|
||||
const HP_BAR_WIDTH = 20
|
||||
const HP_BAR_HEIGHT = 3
|
||||
|
|
@ -53,9 +54,10 @@ func _on_collect(DropsBase):
|
|||
|
||||
func shoot_fireballs():
|
||||
var enemies = get_tree().get_nodes_in_group("enemies")
|
||||
for enemy in enemies:
|
||||
if not is_instance_valid(enemy):
|
||||
continue
|
||||
enemies = enemies.filter(func(e): return is_instance_valid(e))
|
||||
enemies.sort_custom(func(a, b): return global_position.distance_to(a.global_position) < global_position.distance_to(b.global_position))
|
||||
var targets = enemies.slice(0, fireball_max_targets)
|
||||
for enemy in targets:
|
||||
var dir = global_position.direction_to(enemy.global_position)
|
||||
_face_direction(dir)
|
||||
var fb = fireball.instantiate()
|
||||
|
|
@ -126,7 +128,7 @@ func take_damage(amount: int) -> void:
|
|||
get_tree().call_deferred("reload_current_scene")
|
||||
return
|
||||
is_invincible = true
|
||||
await get_tree().create_timer(1.0).timeout
|
||||
await get_tree().create_timer(0.5).timeout
|
||||
is_invincible = false
|
||||
|
||||
func get_nearest_enemy(from: Vector2, filter: Callable = Callable()) -> Node:
|
||||
|
|
|
|||
Loading…
Reference in New Issue