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:
@@ -175,18 +175,21 @@ perks:
|
||||
- '<gray>Gegners (Schleichen / Kompass).</gray>'
|
||||
- ' '
|
||||
- '<yellow>Synergie: <gray>Spielo-Kit zeigt Gamble-Ausgang.'
|
||||
|
||||
vampire:
|
||||
name: '<gradient:dark_red:red><bold>Vampire</bold></gradient>'
|
||||
lore:
|
||||
- ' '
|
||||
- '<gray>10% Chance bei Nahkampftreffer:</gray>'
|
||||
- '<red>½ Herz</red> <gray>heilen.</gray>'
|
||||
|
||||
featherweight:
|
||||
name: '<gradient:white:aqua><bold>Featherweight</bold></gradient>'
|
||||
lore:
|
||||
- ' '
|
||||
- '<gray>Vollständig immun gegen</gray>'
|
||||
- '<gray>Fallschaden.</gray>'
|
||||
|
||||
bloodlust:
|
||||
name: '<gradient:dark_red:gold><bold>Bloodlust</bold></gradient>'
|
||||
lore:
|
||||
@@ -195,6 +198,46 @@ perks:
|
||||
- '<yellow>Speed I</yellow> <gray>+</gray> <green>Regen I</green> <gray>für 5 Sekunden.</gray>'
|
||||
message: '<red>⚔ Blutrausch! <yellow>Speed I</yellow> + <green>Regen I</green> für 5 Sekunden!</red>'
|
||||
|
||||
enderblue:
|
||||
name: '<gradient:dark_purple:aqua><bold>Enderblood</bold></gradient>'
|
||||
lore:
|
||||
- ' '
|
||||
- '<gray>Ender Pearl landings deal</gray>'
|
||||
- '<gray>no fall damage to you.</gray>'
|
||||
message: '<aqua>⚡ Enderblood absorbed the impact!</aqua>'
|
||||
|
||||
ghost:
|
||||
name: '<gradient:white:gray><bold>Ghost</bold></gradient>'
|
||||
lore:
|
||||
- ' '
|
||||
- '<gray>You are invisible to</gray>'
|
||||
- '<gray>compass tracking and the</gray>'
|
||||
- '<gray>Oracle perk.</gray>'
|
||||
|
||||
pyromaniac:
|
||||
name: '<gradient:red:gold><bold>Pyromaniac</bold></gradient>'
|
||||
lore:
|
||||
- ' '
|
||||
- '<gray>Immune to fire, lava,</gray>'
|
||||
- '<gray>magma blocks and burn ticks.</gray>'
|
||||
|
||||
adrenaline:
|
||||
name: '<gradient:red:yellow><bold>Adrenaline</bold></gradient>'
|
||||
lore:
|
||||
- ' '
|
||||
- '<gray>Dropping below 3 hearts</gray>'
|
||||
- '<gray>grants <yellow>Speed II</yellow> for 5 s.</gray>'
|
||||
- '<dark_gray>(30 s cooldown)</dark_gray>'
|
||||
message: '<red>❤ Adrenaline Rush! <yellow>Speed II</yellow> for 5 seconds!</red>'
|
||||
|
||||
scavenger:
|
||||
name: '<gradient:gold:yellow><bold>Scavenger</bold></gradient>'
|
||||
lore:
|
||||
- ' '
|
||||
- '<gray>Every kill drops an extra</gray>'
|
||||
- '<gold>Golden Apple</gold> <gray>at the corpse.</gray>'
|
||||
message: '<gold>🍎 Scavenged a Golden Apple!</gold>'
|
||||
|
||||
kits:
|
||||
backup:
|
||||
name: '<gradient:gold:#ff841f><bold>Backup</bold></gradient>'
|
||||
@@ -387,4 +430,63 @@ kits:
|
||||
frozen_received: '<red>⏸ You are frozen for 10 seconds!</red>'
|
||||
frozen_expired: '<gray>The freeze has worn off.</gray>'
|
||||
freeze_broken: '<gold>Freeze broken — 5 hits reached!</gold>'
|
||||
freeze_hits_left: '<aqua>Frozen enemy — <hits> hit(s) remaining.</aqua>'
|
||||
freeze_hits_left: '<aqua>Frozen enemy — <hits> hit(s) remaining.</aqua>'
|
||||
tesla:
|
||||
name: '<gradient:yellow:aqua><bold>Tesla</bold></gradient>'
|
||||
lore:
|
||||
- ' '
|
||||
- 'AGGRESSIVE: Lightning strikes (5-block radius)'
|
||||
- 'DEFENSIVE: Knockback + fire aura'
|
||||
- '<dark_gray>Disabled above Y ≈ 113'
|
||||
items:
|
||||
rod:
|
||||
name: '<yellow>Tesla Coil'
|
||||
description: 'Strike 5 random bolts in a 5-block radius (1.5 ♥ each)'
|
||||
passive:
|
||||
name: '<yellow>Electromagnetic Field'
|
||||
description: 'Push back + ignite nearby enemies every 3 s'
|
||||
messages:
|
||||
lightning_cast: '<yellow>⚡ Tesla Coil discharged!'
|
||||
too_high: '<red>Too high! Tesla requires ground contact.'
|
||||
ability_charged: '<yellow>Tesla Coil recharged!'
|
||||
|
||||
puppet:
|
||||
name: '<gradient:dark_purple:light_purple><bold>Puppet</bold></gradient>'
|
||||
lore:
|
||||
- ' '
|
||||
- 'AGGRESSIVE: Life drain (max 8 ♥, 2 s)'
|
||||
- 'DEFENSIVE: Blindness + Slowness III (4 s)'
|
||||
items:
|
||||
drain:
|
||||
name: '<dark_purple>Life Drain'
|
||||
description: 'Drain life from nearby enemies. Sneak to cancel.'
|
||||
fear:
|
||||
name: '<dark_purple>Puppeteer''s Fear'
|
||||
description: 'Apply Blindness + Slowness to nearby enemies'
|
||||
messages:
|
||||
drain_start: '<dark_purple>Draining life...'
|
||||
draining: '<dark_purple>♥ Drained <healed>/<max> hearts'
|
||||
drain_cancelled: '<gray>Drain cancelled.'
|
||||
no_enemies: '<red>No enemies nearby!'
|
||||
feared: '<dark_purple>You are being puppeted!'
|
||||
fear_cast: '<dark_purple>Fear applied to <count> enemy(s)!'
|
||||
ability_charged: '<yellow>Ability recharged!'
|
||||
|
||||
anchor:
|
||||
name: '<gradient:gray:white><bold>Anchor</bold></gradient>'
|
||||
lore:
|
||||
- ' '
|
||||
- 'Always: 40% knockback resistance'
|
||||
- 'AGGRESSIVE: 5-block anchor + damage bonus'
|
||||
- 'DEFENSIVE: 8-block anchor + Resistance I'
|
||||
items:
|
||||
chain:
|
||||
name: '<gray>⚓ Deploy Anchor'
|
||||
description: 'Summon an Iron Golem anchor. Enemies can destroy it!'
|
||||
passive:
|
||||
name: '<gray>Anchored'
|
||||
description: 'NoKnock + bonus within anchor radius'
|
||||
messages:
|
||||
anchor_placed: '<gray>Anchor deployed! Radius: <radius> blocks.'
|
||||
anchor_destroyed: '<red>⚓ Your anchor was destroyed!'
|
||||
ability_charged: '<gray>Anchor ready to deploy!'
|
||||
Reference in New Issue
Block a user