Commit Graph

16 Commits

Author SHA1 Message Date
SashegDev 81e86fdc9f rework: SWOON rewrite, tension economy, DIVE physics, predictive displays
SWOON: virtual HP deleted. Damage now goes through DamageType.GENERIC_KILL,
which vanilla marks as bypassing armour, enchantments, effects and shields,
and which consumes no armour durability. The old mechanic cancelled the damage
outright and only regenened virtual HP back to 1, so a swoon could never be
escaped by any means.

- cost by mob max HP: clamp(mob-base-cost + mob-cost-per-hp * HP, base, max).
  Player cost is flat. Chicken 14.5 -> Zombie 22.5 -> Enderman 32.5 -> Warden 137.
- cooldown inversely proportional to TP spent: trash mob 40t, player 160t.
  Moved off Material.NETHERITE_SWORD onto a per-ability key: the material
  cooldown is a shared per-material table, so it blocked every netherite sword
  in the inventory and any inventory rebuild wiped it. New AbilityCooldown.
- death message detected statelessly from the damage type plus who holds the
  knife, so no marker state has to survive the death.
- TP is now checked BEFORE the original hit is cancelled. Cancelling first made
  every swing without enough TP a free block: no damage, no gain, no progress.
- 257 -> ~110 lines; the VHP/SWOONED checks in DamageUtil, ParryHandler,
  GrenadeAttack and SkyDiveAttack are gone with the mechanic they guarded.

Tension:
- passive regen 0.25/tick (was 2/tick, i.e. 100 TP/s) with a hard 3s pause
  after the last combat action.
- hit gain 7.5, crit 11.25 (1.5x base instead of 2x).
- onQuit clears TP. It only dropped bossbars and caches, so a quitting player
  left a full bar in memory for the rest of the uptime.
- shield gain and delay moved into config; they were the only remaining
  hardcoded economy numbers.

DIVE:
- setGravity(false) for the whole ability. Gravity fought setVelocity(0) every
  tick and the flag reaches clients, so server and client now agree and hover
  is a real state instead of a fight over movement prediction.
- own gravity constant and an analytic apex; the old code probed velocity three
  different ways.
- one state machine with a single exit, so death, wall, logout, respawn and
  damage can never leave a player with gravity off. The runnables used to
  return without cancel() and leaked a per-tick task per dive.
- ground contact for 3 ticks aborts the dive without damage. Unimplemented
  before, so you could dive into the ground, walk to the target and hit them.
- dash 3.0 blocks/tick over 60 ticks (was 2.8/40).
- hover pins X/Z only, camera stays free, no per-tick actionbar spam.
- quitting mid-dive refunds the unused knife cooldown.
- fall damage cancelled only while diving and for 2.5s after, not for the whole
  cooldown.

Displays: predictive teleport. A visual is spawned N ticks along its own
trajectory and told to interpolate the teleport over those same N ticks, so the
client never lags behind and the packet count is unchanged. Duration 1 is
effectively no smoothing, which is why the visuals snapped on real ping.
Applied to DIAMOND, DIAMOND_TRI, LUNGE (catalyst, sword, overhead, volley) and
GRENADE. lead-ticks is configurable; 0 restores stock behaviour.
2026-09-30 12:41:28 +00:00
SashegDev 21d5e4df94 version strings 1.21.1 -> 1.21.8 2026-09-30 05:28:51 +00:00
SashegDev e5636a5b57 update to Paper 1.21.8 (Attribute.MAX_HEALTH rename) 2026-09-30 05:26:00 +00:00
SashegDev a86cc7689a remove orb soulbound (free transfer, no mint) + remove 10% knife drop on SWOON 2026-09-25 19:38:37 +00:00
SashegDev 53700b29ec fix DIVE aim: drop per-tick teleport (was locking camera), MoveEvent-only position lock; higher launch 2026-09-24 19:13:02 +00:00
SashegDev 3e26bb9ad5 fix DIVE: allow creative, feedback messages, segment hit sampling; tune GRENADE faster flight + 10t cd 2026-09-24 19:07:50 +00:00
SashegDev 014a823c1b feat: BlackKnife facade manager + tab completion + mode/tp/awaken subcommands 2026-09-24 18:54:36 +00:00
SashegDev 45c7250c08 fix: missing PersistentDataType import in ParryHandler 2026-09-24 18:38:09 +00:00
SashegDev fa81d144ba smooth display motion via teleport_duration=1 (no desync) 2026-09-17 09:18:53 +00:00
SashegDev 3e00c57fa7 tweak grenade: no flight cap, range 15, preview matches 2026-09-17 08:43:44 +00:00
SashegDev ee4eb7f897 feat: GRENADE parabolic nade (35/5.5, 25TP, 15cd) + DIVE sky strike (25dmg knockback, 87.5TP, 120cd) 2026-09-17 08:41:14 +00:00
SashegDev 39ffe477a5 fix multiplayer: remove KNOCKED, swoon softlock, combat checks, dodge TP gate, inv cache, killfeed, threads/leaks 2026-09-14 05:07:09 +00:00
SashegDev e227ad63bd feat: disable invuln for plugin damage + DamageUtil + DiamondTri/Barrage/Overhead nerf 2026-08-28 14:17:21 +03:00
SashegDev a8ce2375c0 feat: DeltaCraft awakening - TP only with magic/knife + soulbound MagicOrb + all physical triggers + Lang config 2026-08-28 04:08:41 +03:00
SashegDev 4ce654b838 feat: swoon VHP lock + effects + kill obfuscation Lang ru|en config + magic 4 2026-08-27 16:41:07 +03:00
SashegDev 10faf5679f feat: BlackKnife DeltaMine v1.0.0 - Paper 1.21.1 SWOON/Stars/Sword/Diamond/Lunge/Snipe/Tri/Overhead + Magic 4commons Parry chat 400words +12h updates 2026-08-27 01:55:05 +03:00