Skip to content

🏗️ アイ・魔導書系Mobに鈍足が適用されるように#1949

Open
Lapis-LJA wants to merge 32 commits into
masterfrom
dev/lapis_flying_mob_abstract
Open

🏗️ アイ・魔導書系Mobに鈍足が適用されるように#1949
Lapis-LJA wants to merge 32 commits into
masterfrom
dev/lapis_flying_mob_abstract

Conversation

@Lapis-LJA
Copy link
Copy Markdown
Contributor

Fix #1694
エクアルの魔導書は削除予定とのことで対象外

Lapis-LJA added 24 commits March 7, 2026 16:30
@Lapis-LJA Lapis-LJA changed the title アイ・魔導書系Mobに鈍足が適用されるように 🏗️ アイ・魔導書系Mobに鈍足が適用されるように Mar 14, 2026
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

アイ系/魔導書系Mobの移動ロジックを「tp 直打ち」から、movement_speed attribute を経由して tp する抽象Mob(2003.abstract_eye)へ寄せることで、鈍足(Slowness)などの移動速度デバフが正しく効くようにする変更です(PR説明の通り、エクアルの魔導書は対象外)。

Changes:

  • 抽象Mob 2003.abstract_eye(tick→get_speed→rotate/reflect/move)と、それを呼ぶ alias を追加
  • 複数のアイ/魔導書Mobを 2003.abstract_eye 継承に切り替え、super.tick / super.method ベースに移行
  • 0369 など一部Mobの固有挙動(後退モード等)を storage フィールド管理に刷新

Reviewed changes

Copilot reviewed 90 out of 90 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
Asset/data/asset/tags/functions/mob/load.json 0369 の load 呼び出しをタグから除外
Asset/data/asset/functions/mob/alias/38/rotate.mcfunction 0038 rotate メソッド呼び出しの alias 追加
Asset/data/asset/functions/mob/alias/38/reflect.mcfunction 0038 reflect メソッド呼び出しの alias 追加
Asset/data/asset/functions/mob/alias/38/move.mcfunction 0038 move メソッド呼び出しの alias 追加
Asset/data/asset/functions/mob/alias/38/get_speed.mcfunction 0038 get_speed メソッド呼び出しの alias 追加
Asset/data/asset/functions/mob/alias/371/rotate.mcfunction 0371 rotate メソッド呼び出しの alias 追加
Asset/data/asset/functions/mob/alias/370/rotate.mcfunction 0370 rotate メソッド呼び出しの alias 追加
Asset/data/asset/functions/mob/alias/369/reflect.mcfunction 0369 reflect メソッド呼び出しの alias 追加
Asset/data/asset/functions/mob/alias/369/get_speed.mcfunction 0369 get_speed メソッド呼び出しの alias 追加
Asset/data/asset/functions/mob/alias/321/rotate.mcfunction 0321 rotate メソッド呼び出しの alias 追加
Asset/data/asset/functions/mob/alias/321/move.mcfunction 0321 move メソッド呼び出しの alias 追加
Asset/data/asset/functions/mob/alias/265/rotate.mcfunction 0265 rotate メソッド呼び出しの alias 追加
Asset/data/asset/functions/mob/alias/261/move.mcfunction 0261 move メソッド呼び出しの alias 追加
Asset/data/asset/functions/mob/alias/261/get_speed.mcfunction 0261 get_speed メソッド呼び出しの alias 追加
Asset/data/asset/functions/mob/alias/21/move.mcfunction 0021 move メソッド呼び出しの alias 追加
Asset/data/asset/functions/mob/alias/2003/tick.mcfunction 2003 tick 呼び出しの alias 追加
Asset/data/asset/functions/mob/alias/2003/rotate.mcfunction 2003 rotate 呼び出しの alias 追加
Asset/data/asset/functions/mob/alias/2003/register.mcfunction 2003 register 呼び出しの alias 追加
Asset/data/asset/functions/mob/alias/2003/reflect.mcfunction 2003 reflect 呼び出しの alias 追加
Asset/data/asset/functions/mob/alias/2003/move.mcfunction 2003 move 呼び出しの alias 追加
Asset/data/asset/functions/mob/2003.abstract_eye/tick/.mcfunction 抽象アイの tick パイプライン(get_speed→rotate/reflect/move)追加
Asset/data/asset/functions/mob/2003.abstract_eye/rotate/m.mcfunction 抽象アイ rotate 実処理(回転量 storage 反映)追加
Asset/data/asset/functions/mob/2003.abstract_eye/rotate/.mcfunction 抽象アイ rotate エントリ追加
Asset/data/asset/functions/mob/2003.abstract_eye/register.mcfunction 抽象アイ register(2004 mixin 継承等)追加
Asset/data/asset/functions/mob/2003.abstract_eye/reflect/forward_block.m.mcfunction 抽象アイの前方衝突判定補助追加
Asset/data/asset/functions/mob/2003.abstract_eye/reflect/.mcfunction 抽象アイ reflect(衝突時の向き変更等)追加
Asset/data/asset/functions/mob/2003.abstract_eye/move/.mcfunction 抽象アイ move(slide_move 経由)追加
Asset/data/asset/functions/mob/0371.lightning_spellbook/tick/.mcfunction tick を super.tick ベースに移行し、近距離時の追加挙動を調整
Asset/data/asset/functions/mob/0371.lightning_spellbook/rotate/.mcfunction rotate を抽象側に寄せつつ OnTop 時に旋回する override 追加
Asset/data/asset/functions/mob/0371.lightning_spellbook/register.mcfunction 2003 継承・Speed/Rotate フィールド設定追加
Asset/data/asset/functions/mob/0371.lightning_spellbook/_index.d.mcfunction 使用タグ宣言の追加(2D.OnTop)
Asset/data/asset/functions/mob/0370.wave_spellbook/tick/.mcfunction tick を super.tick ベースに移行
Asset/data/asset/functions/mob/0370.wave_spellbook/rotate/.mcfunction rotate override(近距離時は独自挙動、遠距離は super)追加
Asset/data/asset/functions/mob/0370.wave_spellbook/register.mcfunction 2003 継承・Speed/Rotate フィールド設定追加
Asset/data/asset/functions/mob/0369.prominence_spellbook/tick/move_back_mode/start.mcfunction 後退モード開始処理を関数化
Asset/data/asset/functions/mob/0369.prominence_spellbook/tick/move_back_mode/end.mcfunction 後退モード終了処理を関数化
Asset/data/asset/functions/mob/0369.prominence_spellbook/tick/.mcfunction tick を super.tick + storage 状態管理に刷新
Asset/data/asset/functions/mob/0369.prominence_spellbook/register.mcfunction 2003 継承・後退用フィールド/Speed/Rotate 設定追加
Asset/data/asset/functions/mob/0369.prominence_spellbook/reflect/.mcfunction reflect を後退モード条件付きで override
Asset/data/asset/functions/mob/0369.prominence_spellbook/load.mcfunction A9.StepBack objective 初期化を削除
Asset/data/asset/functions/mob/0369.prominence_spellbook/get_speed/.mcfunction get_speed で後退モード時に Speed を負値化する override 追加
Asset/data/asset/functions/mob/0363.white_spellbook/tick/.mcfunction tick を super.tick ベースにし、速度/追尾力の切替を関数化
Asset/data/asset/functions/mob/0363.white_spellbook/set_speed/1.mcfunction 高速・強追尾の適用関数追加
Asset/data/asset/functions/mob/0363.white_spellbook/set_speed/0.mcfunction 低速・弱追尾の適用関数追加
Asset/data/asset/functions/mob/0363.white_spellbook/register.mcfunction 2003 継承・Speed と速度/追尾力フィールド追加
Asset/data/asset/functions/mob/0363.white_spellbook/init/.mcfunction 初期速度/追尾力を set_speed/0 で初期化
Asset/data/asset/functions/mob/0321.mini_guardian/tick/event/attack_mode.mcfunction 攻撃後の移動を rotate/move メソッド呼び出しへ置換
Asset/data/asset/functions/mob/0321.mini_guardian/tick/.mcfunction tick を super.tick ベースに移行
Asset/data/asset/functions/mob/0321.mini_guardian/rotate/.mcfunction rotate を攻撃/のけぞり条件付きで override
Asset/data/asset/functions/mob/0321.mini_guardian/register.mcfunction 2003 継承・Speed/Rotate フィールド設定追加
Asset/data/asset/functions/mob/0321.mini_guardian/move/.mcfunction move を攻撃/のけぞり条件付きで override
Asset/data/asset/functions/mob/0265.dark_familiar/tick/.mcfunction tick を super.tick ベースに移行
Asset/data/asset/functions/mob/0265.dark_familiar/rotate/.mcfunction rotate をサモナー優先の追尾に調整し、fallback を super に
Asset/data/asset/functions/mob/0265.dark_familiar/register.mcfunction 2003 継承・Speed/Rotate フィールド設定追加
Asset/data/asset/functions/mob/0265.dark_familiar/init/.mcfunction IsBaby 速度補正の相殺(movement_speed base を 2/3 倍)
Asset/data/asset/functions/mob/0261.laser_eye_mk2/tick/.mcfunction 距離状態を storage で管理しつつ super.tick を呼ぶよう変更
Asset/data/asset/functions/mob/0261.laser_eye_mk2/register.mcfunction 2003 継承・SpeedType/Rotate フィールド設定追加
Asset/data/asset/functions/mob/0261.laser_eye_mk2/move/m.mcfunction Speed だけ進む tp 実処理追加
Asset/data/asset/functions/mob/0261.laser_eye_mk2/move/.mcfunction 遠近で move の挙動分岐を追加
Asset/data/asset/functions/mob/0261.laser_eye_mk2/get_speed/.mcfunction 遠近で attribute を切替し、近距離は Speed を負値化
Asset/data/asset/functions/mob/0257.distortion_spellbook/tick/.mcfunction tick を super.tick ベースに移行
Asset/data/asset/functions/mob/0257.distortion_spellbook/register.mcfunction 2003 継承・Speed/Rotate フィールド設定追加
Asset/data/asset/functions/mob/0255.dependence_eye/tick/.mcfunction tick を super.tick ベースに移行
Asset/data/asset/functions/mob/0255.dependence_eye/register.mcfunction 2003 継承・Speed/Rotate フィールド設定追加
Asset/data/asset/functions/mob/0227.frost_eye/tick/.mcfunction tick を super.tick ベースに移行
Asset/data/asset/functions/mob/0227.frost_eye/register.mcfunction 2003 継承・Speed/Rotate フィールド設定追加
Asset/data/asset/functions/mob/0210.aurora_eye/tick/.mcfunction tick を super.tick ベースに移行
Asset/data/asset/functions/mob/0210.aurora_eye/register.mcfunction 2003 継承・Speed/Rotate フィールド設定追加
Asset/data/asset/functions/mob/0204.infernal_watcher/tick/update_state/start_frenzy.mcfunction Frenzy 開始時に movement_speed と Rotate を更新
Asset/data/asset/functions/mob/0204.infernal_watcher/tick/update_state/end_frenzy.mcfunction Frenzy 終了時に movement_speed と Rotate を復帰
Asset/data/asset/functions/mob/0204.infernal_watcher/tick/other/.mcfunction 演出/のけぞり処理として整理(旧 move ロジック削除)
Asset/data/asset/functions/mob/0204.infernal_watcher/tick/move/yaw.mcfunction 旧 move 補助(yaw 計算)を削除
Asset/data/asset/functions/mob/0204.infernal_watcher/tick/move/rotate.m.mcfunction 旧 move 補助(回転 tp)を削除
Asset/data/asset/functions/mob/0204.infernal_watcher/tick/move/pitch.mcfunction 旧 move 補助(pitch 計算)を削除
Asset/data/asset/functions/mob/0204.infernal_watcher/tick/move/do.m.mcfunction 旧 move 実処理を削除
Asset/data/asset/functions/mob/0204.infernal_watcher/tick/.mcfunction 移動を super.tick に委譲し、other を分離
Asset/data/asset/functions/mob/0204.infernal_watcher/register.mcfunction 2003 継承・Speed 設定追加、Move フィールドを Rotate ベースに変更
Asset/data/asset/functions/mob/0204.infernal_watcher/init/.mcfunction 初期 movement_speed/Rotate を context へ適用
Asset/data/asset/functions/mob/0038.laser_eye/tick/.mcfunction チャージ中以外を super.tick に委譲
Asset/data/asset/functions/mob/0038.laser_eye/rotate/.mcfunction 距離で Rotate を切替して super.rotate を呼ぶ override 追加
Asset/data/asset/functions/mob/0038.laser_eye/register.mcfunction 2003 継承・Speed/RotatePower フィールド設定追加
Asset/data/asset/functions/mob/0038.laser_eye/reflect/.mcfunction reflect の noop 実装追加
Asset/data/asset/functions/mob/0038.laser_eye/move/m.mcfunction Speed だけ進む tp 実処理追加
Asset/data/asset/functions/mob/0038.laser_eye/move/.mcfunction 壁貫通前提の move 実装追加
Asset/data/asset/functions/mob/0038.laser_eye/get_speed/.mcfunction 近距離時に Speed を負値化する override 追加
Asset/data/asset/functions/mob/0021.demon_eye/tick/rotater_tick.mcfunction 旧回転追尾処理を削除
Asset/data/asset/functions/mob/0021.demon_eye/tick/.mcfunction tick を super.tick ベースに移行
Asset/data/asset/functions/mob/0021.demon_eye/summon/.mcfunction summon を NoAI のみへ変更(旧 passenger AEC 削除)
Asset/data/asset/functions/mob/0021.demon_eye/register.mcfunction 2003 継承・Speed/Rotate フィールド設定追加
Asset/data/asset/functions/mob/0021.demon_eye/move/.mcfunction HurtTime 条件付き move override 追加

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread Asset/data/asset/functions/mob/0261.laser_eye_mk2/move/.mcfunction Outdated
Comment thread Asset/data/asset/functions/mob/0261.laser_eye_mk2/get_speed/.mcfunction Outdated
Comment thread Asset/data/asset/functions/mob/0369.prominence_spellbook/tick/.mcfunction Outdated
# 移動速度を取得
function asset:mob/call.m {method:"get_speed"}

# デフォルトではrelfect、rotateとmoveを実行する
haiiro2gou and others added 2 commits May 23, 2026 17:43
Copy link
Copy Markdown
Member

@haiiro2gou haiiro2gou left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

とりあえず抽象だけ

Comment on lines +16 to +17
# フィールド
# data modify storage asset:mob Field.myValue set value
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

imo: 使うフィールドについて、コメントアウトしていてもいいから入力例があったほうがいいのではと思った

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

特に 2003 での追加実装部分

Comment on lines +13 to +17
# 下がブロックなら上を向く
execute at @s unless block ~ ~1 ~ #lib:no_collision/ run tp @s ~ ~ ~ ~ ~-35

# 上がブロックなら下を向く
execute at @s unless block ~ ~2.5 ~ #lib:no_collision/ run tp @s ~ ~ ~ ~ ~80
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Q: mob のサイズによってここの値って変更できるようにするべきなのでは?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

飛行系Mob抽象を作る

3 participants