Add Anchor, Puppet, Tesla kits and perks

Introduce three new kits (Anchor, Puppet, Tesla) and multiple perks, plus related plumbing and behavior changes. Key changes:

- Added kit implementations: AnchorKit (summon iron-golem anchor, knockback resistance/radius effects), PuppetKit (life-drain / fear abilities), TeslaKit (lightning active + passive knockback/fire aura).
- Register new kits and register new perks in SpeedHG startup.
- Added new perks: AdrenalinePerk (post-damage speed proc with cooldown), EnderbluePerk (ender-pearl fall damage handling), Ghost, Pyromaniac, Scavenger (and updated OraclePerk/PerkEventDispatcher usage).
- Extended Perk API (Perk.kt) with onEnderPearlDamage and onPostDamage hooks to support specialized damage handling and post-damage checks.
- PerkManager.isGhost added for checking Ghost perk selection and used to exclude ghost players from targeting/compass logic.
- GameManager.updateCompass now excludes ghost-perk players when computing compass targets.
- Updated PerkEventDispatcher and OraclePerk to integrate new hooks and behaviors.
- Minor language additions in en_US.yml to support new kits/perks.

These changes add new gameplay mechanics and ensure correct event dispatching for pearl/fall/post-damage cases and ghost invisibility to game tracking.
This commit is contained in:
TDSTOS
2026-04-08 02:59:32 +02:00
parent 2be7272f06
commit 1c6b229ad8
15 changed files with 1501 additions and 5 deletions

View File

@@ -356,7 +356,8 @@ class GameManager(
private fun updateCompass()
{
val players = Bukkit.getOnlinePlayers().filter { alivePlayers.contains( it.uniqueId ) }
val players = Bukkit.getOnlinePlayers()
.filter { alivePlayers.contains( it.uniqueId ) && !plugin.perkManager.isGhost( it ) }
for ( p in players )
{