chain kill: laser spawns a shuriken at every enemy it kills
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017NTjSa2VgCtWZWVm573NB6main
parent
a2646d9690
commit
1c54f7f2db
|
|
@ -14,6 +14,7 @@ const FADE_OUT := 0.5
|
|||
@onready var perk_effects = get_node("/root/Game/PerkEffects")
|
||||
|
||||
var beam_seg := preload("res://scenes/beam.tscn")
|
||||
var shuriken_scene := preload("res://scenes/shuriken.tscn")
|
||||
var target: Node2D = null
|
||||
var all_segs: Array = []
|
||||
var mid_segs: Array = []
|
||||
|
|
@ -123,6 +124,10 @@ func retarget(new_target: Node2D) -> void:
|
|||
func do_damage_tick() -> void:
|
||||
if is_instance_valid(target) and not target.is_dying:
|
||||
target.take_damage(PRIMARY_TICK_DMG)
|
||||
if perk_effects.laser_shuriken_on_kill and target.is_dying:
|
||||
var sh = shuriken_scene.instantiate()
|
||||
sh.global_position = target.global_position
|
||||
get_parent().add_child(sh)
|
||||
|
||||
var hit: Array = []
|
||||
for seg in mid_segs:
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ var laser_retarget_enabled = false
|
|||
var shuriken_tag_enabled = false
|
||||
var tornado_push_on_cast = false
|
||||
var tornado_fruit_collect = false
|
||||
var laser_shuriken_on_kill = false
|
||||
var throwing_knife_enabled = false
|
||||
var throwing_knife_cooldown: float = 2.0
|
||||
var throwing_knife_count: int = 1
|
||||
|
|
@ -223,6 +224,15 @@ func _ready() -> void:
|
|||
rw.effect = enable_tornado_push
|
||||
available_perks.append(rw)
|
||||
|
||||
var lsk = Perk.new()
|
||||
lsk.name = "Chain Kill"
|
||||
lsk.description = "Laser spawns a free Shuriken at every enemy it kills"
|
||||
lsk.stats = _stat_toggle("Shuriken on Kill")
|
||||
lsk.spell = SpellLibrary.LASER
|
||||
lsk.icon = _icon_laser
|
||||
lsk.effect = enable_laser_shuriken_on_kill
|
||||
available_perks.append(lsk)
|
||||
|
||||
var mp = Perk.new()
|
||||
mp.name = "Marked Prey"
|
||||
mp.description = "Shuriken marks enemies. The next spell that hits them triggers an extra explosion"
|
||||
|
|
@ -265,6 +275,9 @@ func enable_tornado_push() -> void:
|
|||
func enable_tornado_fruit_collect() -> void:
|
||||
tornado_fruit_collect = true
|
||||
|
||||
func enable_laser_shuriken_on_kill() -> void:
|
||||
laser_shuriken_on_kill = true
|
||||
|
||||
func double_shuriken():
|
||||
witch.shuriken_count += 2
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue