add archetype-gated follow-up perks for Shotgun and Minigun

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
main
Artur David 2026-06-23 08:52:50 +02:00
parent ac86c4371e
commit 882d44264a
1 changed files with 46 additions and 1 deletions

View File

@ -122,6 +122,26 @@ func _ready() -> void:
fmg.effect = fireball_set_cast_minigun
available_perks.append(fmg)
var smp = Perk.new()
smp.name = "Shotgun: More Pellets"
smp.description = "Fire more pellets per shotgun blast"
smp.stats = _stat("Pellets", str(witch.fireball_pellet_count), str(witch.fireball_pellet_count + 2))
smp.spell = SpellLibrary.FIREBALL
smp.icon = _icon_fireball
smp.requires_mode = "fireball.cast:shotgun"
smp.effect = shotgun_more_pellets
available_perks.append(smp)
var msu = Perk.new()
msu.name = "Minigun: Spin-Up"
msu.description = "Fire fireballs faster in minigun mode"
msu.stats = _stat("Interval", "%.3fs" % witch.fireball_minigun_interval, "%.3fs" % maxf(0.03, witch.fireball_minigun_interval - 0.015))
msu.spell = SpellLibrary.FIREBALL
msu.icon = _icon_fireball
msu.requires_mode = "fireball.cast:minigun"
msu.effect = minigun_spin_up
available_perks.append(msu)
var fsp = Perk.new()
fsp.name = "Fireball Spread"
fsp.description = "Fireballs target more enemies"
@ -226,6 +246,31 @@ func fireball_spread():
fsp.effect = fireball_spread
available_perks.append(fsp)
func shotgun_more_pellets() -> void:
witch.fireball_pellet_count += 2
var smp = Perk.new()
smp.name = "Shotgun: More Pellets"
smp.description = "Fire more pellets per shotgun blast"
smp.stats = _stat("Pellets", str(witch.fireball_pellet_count), str(witch.fireball_pellet_count + 2))
smp.spell = SpellLibrary.FIREBALL
smp.icon = _icon_fireball
smp.requires_mode = "fireball.cast:shotgun"
smp.effect = shotgun_more_pellets
available_perks.append(smp)
func minigun_spin_up() -> void:
witch.fireball_minigun_interval = maxf(0.03, witch.fireball_minigun_interval - 0.015)
if witch.fireball_minigun_interval > 0.03:
var msu = Perk.new()
msu.name = "Minigun: Spin-Up"
msu.description = "Fire fireballs faster in minigun mode"
msu.stats = _stat("Interval", "%.3fs" % (witch.fireball_minigun_interval + 0.015), "%.3fs" % witch.fireball_minigun_interval)
msu.spell = SpellLibrary.FIREBALL
msu.icon = _icon_fireball
msu.requires_mode = "fireball.cast:minigun"
msu.effect = minigun_spin_up
available_perks.append(msu)
func brew_explosion():
cauldron.brew_explosion = true