⚖️ [Mob 274] デスソージキのリワーク#1952
Conversation
…into fix/lapis_mob274
There was a problem hiding this comment.
Pull request overview
This PR reworks mob #274 (デスソージキ / death_saw_jiki) to fix the issue #1933 where its tracking behavior became disproportionately strong in multiplayer. The rework switches the mob to inherit from the 2004.movement_speed_tp_mixin (so movement-speed debuffs apply and forward motion is handled by slide_move), replaces the score-based cooldown with a storage-based AttackCT field, and rewrites the targeting logic so it consistently targets the nearest non-spectator player rather than relying on multiple conditional tp chains that previously compounded in multiplayer.
Changes:
- Replaces the
7M.CoolTimescoreboard cooldown with a storage-basedAttackCT._/Maxfield and a decrement-via-int 0.9999999999-floor trick. - Inherits the
2004.movement_speed_tp_mixin, delegates forward motion toslide_move, and adds a newmove/.mcfunctionplus itsalias/274/move.mcfunction. - Refactors targeting (
tick/.mcfunction) to use@p[gamemode=!spectator]with proper distance bands, and migrates the damage routine fromtick/3.damage.mcfunctionto a newtick/damage.mcfunctionthat hits players viadx=0box selection.
Reviewed changes
Copilot reviewed 9 out of 9 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| Asset/data/asset/tags/functions/mob/load.json | Removes obsolete reference to deleted 0.load function. |
| Asset/data/asset/functions/mob/alias/274/move.mcfunction | New alias dispatching the move method to the mob's own move implementation. |
| Asset/data/asset/functions/mob/0274.death_saw_jiki/tick/damage.mcfunction | New damage routine using Field.Damage and dx=0 to hit overlapping players, then resets AttackCT. |
| Asset/data/asset/functions/mob/0274.death_saw_jiki/tick/3.damage.mcfunction | Deletes the old damage implementation tied to the scoreboard cooldown. |
| Asset/data/asset/functions/mob/0274.death_saw_jiki/tick/.mcfunction | Rewrites targeting/movement: nearest non-spectator player only, delegates forward motion, replaces scoreboard cooldown with AttackCT storage decrement. |
| Asset/data/asset/functions/mob/0274.death_saw_jiki/register.mcfunction | Adds extension of mixin 2004 and declares Field.Damage and Field.AttackCT. |
| Asset/data/asset/functions/mob/0274.death_saw_jiki/move/.mcfunction | Implements forward motion via lib:slide_move/ using this.Speed. |
| Asset/data/asset/functions/mob/0274.death_saw_jiki/init/.mcfunction | Cancels the IsBaby 1.5x speed multiplier and aims the mob at the nearest non-spectator player on spawn. |
| Asset/data/asset/functions/mob/0274.death_saw_jiki/0.load.mcfunction | Removes the now-unused scoreboard objective initialization. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Fix #1933