Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

⚖ [Mob 1004] トゥルタリアの行動パターンの難易度調整 #912

Merged
merged 31 commits into from
Mar 8, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
31 commits
Select commit Hold shift + click to select a range
e843455
トゥルの召喚処理が、ノーマル以下だと一体しか出さないようになった
Chuzume Feb 9, 2025
009ec64
ちょっと待てよ、predicateの"hard"はブレスレスのことだったね…
Chuzume Feb 9, 2025
c9a7f73
メテオの乱数を普通にrandomコマンドに
Chuzume Feb 9, 2025
59eac8a
メテオレインはハード以上で数が増えるように
Chuzume Feb 9, 2025
ab1d5be
blesslessで現在相当の数になるようにした
Chuzume Feb 9, 2025
ba786f3
「最悪偏差撃ちレーザー」はBlessless以上でやっと偏差撃ちしてくるようになった
Chuzume Feb 9, 2025
e09acdf
未使用だった設置パターンを解禁するついでで調整
Chuzume Feb 9, 2025
48cdbda
アリーナを真っ二つにするタイプの設置剣が、ノーマルモードでは露骨に数が減るようになった
Chuzume Feb 9, 2025
b9148a7
乱数設置の剣は、難易度で数が変わるようになった
Chuzume Feb 9, 2025
a7483ea
設置技の選択処理を変更、最高難易度で未使用だったパターンを使うように鳴った
Chuzume Feb 9, 2025
2c369af
爆発斬撃の予告が地面に埋まって見えないことが多発したのでちょっと高めに出すように
Chuzume Feb 9, 2025
81a806b
ここのコメントちょっとおかしいので修正
Chuzume Feb 9, 2025
4f67a51
この技クリエにも当たるな?マズいぜ
Chuzume Feb 9, 2025
e6a3172
トゥルの火の玉がデカいのになった
Chuzume Feb 14, 2025
435a700
トゥルの火の玉発射行動の性能調整: 移動先に選んだヤツと、移動後に発射の対象にするプレイヤーを一緒にした
Chuzume Feb 14, 2025
694cabd
このインデント気味悪いな
Chuzume Feb 16, 2025
9fe2ec4
トゥルのライン攻撃を調整
Chuzume Feb 16, 2025
63db356
ファイアボールの見た目調整
Chuzume Feb 16, 2025
73ef801
忠誠の幻想のホーミングショットの処理がなんかヘンだったので修正
Chuzume Feb 16, 2025
465c558
すごく大雑把にダウン処理作成。アニメとかを作る必要がある。
Chuzume Feb 16, 2025
93e8b41
Merge branch 'master' into fix/Chuzume_1004_Neeeeerf
Chuzume Feb 16, 2025
8983024
デバッグ処理のままだった
Chuzume Feb 16, 2025
ea41fa0
幻影のアニメ更新
Chuzume Feb 16, 2025
3e45034
ブレイク時のアニメ追加
Chuzume Feb 16, 2025
8e5b435
トゥル用のシールドエフェクト作った
Chuzume Feb 24, 2025
b476d57
トゥルがちゃんとバフを得るようになった
Chuzume Feb 24, 2025
7bcb459
幻影がボス扱いになった
Chuzume Mar 5, 2025
a91000c
ダウンからの復帰時間の調整、表情を戻すように
Chuzume Mar 5, 2025
d84773f
Merge branch 'master' into fix/Chuzume_1004_Neeeeerf
Chuzume Mar 5, 2025
d3afd66
剣回転攻撃のダメージ対象が、幻影ともどもヘンだったので修正
Chuzume Mar 5, 2025
e63ef47
これもう使ってなかった
Chuzume Mar 7, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#> asset:effect/0621.loyalty_shield/_/register
#
#
#
# @within tag/function asset:effect/register

execute if data storage asset:context {id:621} run function asset:effect/0621.loyalty_shield/register
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#> asset:effect/0621.loyalty_shield/_/remove
#
# Effectが神器や牛乳によって削除された時に実行されるfunction
#
# @within tag/function asset:effect/remove

execute if data storage asset:context {id:621} run function asset:effect/0621.loyalty_shield/remove/
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#> asset:effect/0621.loyalty_shield/_/tick
#
# Effectが発動している間毎tick実行されるfunction
#
# @within tag/function asset:effect/tick

execute if data storage asset:context {id:621} run function asset:effect/0621.loyalty_shield/tick/
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#> asset:effect/0621.loyalty_shield/register
#
# Effectのデータを指定
#
# @within function asset:effect/0621.loyalty_shield/_/register

# ExtendsSafe (boolean) (default = false)
# data modify storage asset:effect ExtendsSafe set value true
# ID (int)
data modify storage asset:effect ID set value 621
# 名前 (TextComponentString)
data modify storage asset:effect Name set value '{"text":"忠誠の盾"}'
# 説明文 (TextComponentString[])
data modify storage asset:effect Description set value ['{"text":"「忠誠の幻影」が存在している限り、ダメージを大きく軽減する"}']
# 効果時間 (int) (default = API || error)
data modify storage asset:effect Duration set value 2147483647
# スタック (int) (default = API || 1)
# data modify storage asset:effect Stack set value
# 効果時間の操作方法 (default = API || "replace")
# data modify storage asset:effect DurationOperation set value
# スタックの操作方法 (default = API || "replace")
# data modify storage asset:effect StackOperation set value
# 最大効果時間 (int) (default = 2147483647)
# data modify storage asset:effect MaxDuration set value
# 最大スタック (int) (default = 2147483647)
# data modify storage asset:effect MaxStack set value
# 悪い効果か否か (boolean)
data modify storage asset:effect IsBadEffect set value false
# 死亡時のエフェクトの処理 (default = "remove")
# data modify storage asset:effect ProcessOnDied set value
# 消すのに必要なレベル (int) (default = 1)
# data modify storage asset:effect RequireClearLv set value
# エフェクトをUIに表示するか (boolean) (default = true)
# data modify storage asset:effect Visible set value
# エフェクトのスタックををUIに表示するか (boolean) (default = true)
# data modify storage asset:effect StackVisible set value

# フィールド
# data modify storage asset:effect Field set value {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#> asset:effect/0621.loyalty_shield/remove/
#
# Effectが削除された時の処理
#
# @within function asset:effect/0621.loyalty_shield/_/remove

effect clear @s resistance
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#> asset:effect/0621.loyalty_shield/tick/
#
# Effectのtick処理
#
# @within function asset:effect/0621.loyalty_shield/_/tick

effect give @s resistance infinite 6 true
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
# ボスの状態に関するタグ
#declare tag RW.CanElementChange
#declare tag RW.SkillSelected
#declare tag RW.Shield
#declare tag RW.Break
# ボスの体と移動に関連するタグ
#declare tag RW.Opening
#declare tag RW.PlayerFacing
Expand Down Expand Up @@ -94,11 +96,14 @@
#declare function animated_java:tultaria/animations/attack_melee_4_active/tween
#declare function animated_java:tultaria/animations/dodge_back/tween
#declare function animated_java:tultaria/animations/dodge_side/tween
#declare function animated_java:tultaria/animations/break/tween
#declare function animated_java:tultaria/animations/break_loop/tween
#declare function animated_java:tultaria/animations/pause_all
#declare function animated_java:tultaria/apply_default_pose
#declare function animated_java:tultaria/remove/this
#declare function animated_java:tultaria/variants/winged/apply
#declare function animated_java:tultaria/variants/face_eyehalf/apply
#declare function animated_java:tultaria/variants/face_eyeclose/apply
#declare function animated_java:tultaria/variants/face_eyeopen/apply
#declare tag aj.tultaria.bone.right_ring
#declare tag aj.tultaria.bone.left_ring
6 changes: 3 additions & 3 deletions Asset/data/asset/functions/mob/1004.tultaria/hurt/.mcfunction
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
# @within function asset:mob/alias/1004/hurt

# 演出
playsound minecraft:entity.generic.hurt hostile @a ~ ~ ~ 1 0.7
# execute if entity @s[tag=RW.Shield] run playsound minecraft:block.amethyst_cluster.break hostile @a ~ ~ ~ 2 0.5
# execute if entity @s[tag=RW.Shield] run playsound minecraft:block.end_portal_frame.fill hostile @a ~ ~ ~ 2 0.5
execute unless entity @s[tag=RW.Shield] run playsound minecraft:entity.generic.hurt hostile @a ~ ~ ~ 1 0.7
execute if entity @s[tag=RW.Shield] run playsound minecraft:block.amethyst_cluster.break hostile @a ~ ~ ~ 2 0.5
execute if entity @s[tag=RW.Shield] run playsound minecraft:block.end_portal_frame.fill hostile @a ~ ~ ~ 2 0.5

# 体力チェック
function asset:mob/1004.tultaria/hurt/check_health
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,4 @@
scoreboard objectives add RW.LoopCount dummy
scoreboard objectives add RW.FakeInertia dummy
scoreboard objectives add RW.Phase dummy
scoreboard objectives add RW.LineAttack dummy
13 changes: 8 additions & 5 deletions Asset/data/asset/functions/mob/1004.tultaria/tick/.mcfunction
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,15 @@
execute if entity @s[tag=RW.Mode.Light] at @e[type=marker,tag=RW.ModelLocator.LeftHand,distance=..8,sort=nearest,limit=1] run particle dust 1 1 1 1 ~ ~ ~ 0.1 0.1 0.1 1 1
execute if entity @s[tag=RW.Mode.Light] at @e[type=marker,tag=RW.ModelLocator.RightHand,distance=..8,sort=nearest,limit=1] run particle dust 1 1 1 1 ~ ~ ~ 0.1 0.1 0.1 1 1

# フェイズ3以降は、「忠誠の幻想」が一人でもいるなら無敵になる
# execute if score @s RW.Phase matches 3.. if entity @e[type=wither_skeleton,scores={MobID=1005},distance=..64] run tag @s add RW.Shield
# execute if entity @s[tag=RW.Shield] run function asset:mob/1004.tultaria/tick/base_move/loyalty_shield/
# フェイズ3以降は、「忠誠の幻想」が一人でもいるならカッチカチになる
execute if score @s RW.Phase matches 3.. if entity @e[type=wither_skeleton,scores={MobID=1005},distance=..64] run tag @s add RW.Shield
execute if entity @s[tag=RW.Shield] run function asset:mob/1004.tultaria/tick/base_move/loyalty_shield/

# フェイズ3以降、「忠誠の幻想」がいないなら
# execute if score @s RW.Phase matches 3.. unless entity @e[type=wither_skeleton,scores={MobID=1005},distance=..64] run tag @s remove RW.Shield
# フェイズ3以降、「忠誠の幻想」がいない場合はシールドが割れる
execute if score @s[tag=!RW.Break] RW.Phase matches 3.. unless entity @e[type=wither_skeleton,scores={MobID=1005},distance=..64] run function asset:mob/1004.tultaria/tick/base_move/break/start

# ブレイク状態の時のTick処理
execute if entity @s[tag=RW.Break] run function asset:mob/1004.tultaria/tick/base_move/break/tick

# 足元が埋まっている間は上にちょっとずつ登る
execute unless block ~ ~ ~ #lib:no_collision run tp @s ~ ~0.2 ~
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#> asset:mob/1004.tultaria/tick/base_move/break/recovery
#
# ブレイク状態から復帰
#
# @within function asset:mob/1004.tultaria/tick/base_move/break/tick

# タグリセット
tag @s remove RW.Break

# エフェクト付与
data modify storage api: Argument.ID set value 621
data modify storage api: Argument.Stack set value 1
function api:entity/mob/effect/give
function api:entity/mob/effect/reset

# リセット、行動再開
function asset:mob/1004.tultaria/tick/base_move/reset
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
#> asset:mob/1004.tultaria/tick/base_move/break/start
#
# シールドが割れてブレイク状態に移行
#
# @within function asset:mob/1004.tultaria/tick/

# 演出
playsound minecraft:block.respawn_anchor.deplete hostile @a ~ ~ ~ 2 1.5
playsound minecraft:block.glass.break hostile @a ~ ~ ~ 2 0.6
playsound minecraft:block.glass.break hostile @a ~ ~ ~ 2 0.8
playsound minecraft:block.beacon.deactivate hostile @a ~ ~ ~ 2 1.5
playsound minecraft:block.beacon.deactivate hostile @a ~ ~ ~ 2 1.7

# エフェクト消去
data modify storage api: Argument.ID set value 621
function api:entity/mob/effect/remove/from_id
function api:entity/mob/effect/reset

# タグリセット
function asset:mob/1004.tultaria/tick/reset/skill_tag

# アニメ再生
execute as @e[type=item_display,tag=RW.ModelRoot.Target,distance=..8,sort=nearest,limit=1] run function animated_java:tultaria/animations/break/tween {to_frame:0,duration:1}

# タグ付与
tag @s add RW.Break
tag @s add RW.InAction
tag @s remove RW.Shield

# スコアセット
scoreboard players set @s General.Mob.Tick -1
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#> asset:mob/1004.tultaria/tick/base_move/break/summon_illusion/
#
#
#
# @within function asset:mob/1004.tultaria/tick/base_move/break/tick

# 召喚その1
execute facing entity @p[gamemode=!spectator,distance=..128] feet rotated ~ 0 positioned ^5 ^ ^ run function asset:mob/1004.tultaria/tick/base_move/break/summon_illusion/summon
# 召喚その2: ハード以上でやる
execute if predicate api:global_vars/difficulty/min/normal facing entity @p[gamemode=!spectator,distance=..128] feet rotated ~ 0 positioned ^-5 ^ ^ run function asset:mob/1004.tultaria/tick/base_move/break/summon_illusion/summon
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#> asset:mob/1004.tultaria/tick/base_move/break/summon_illusion/summon
#
#
#
# @within function asset:mob/1004.tultaria/tick/base_move/break/summon_illusion/

# 召喚
data modify storage api: Argument.ID set value 1005
function api:mob/summon

# パーティクル
particle minecraft:explosion ~ ~1 ~ 0 0 0 0 1 force @a[distance=..64]
particle minecraft:dust 1 1 1 2 ~ ~1 ~ 0.3 0.7 0.3 0 25

# サウンド
playsound minecraft:entity.enderman.teleport hostile @a ~ ~ ~ 1 1.5
playsound minecraft:entity.zombie_villager.converted hostile @a ~ ~ ~ 1 2
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#> asset:mob/1004.tultaria/tick/base_move/break/tick
#
# 防御が下がって無防備になる
#
# @within function asset:mob/1004.tultaria/tick/

# 演出
particle minecraft:large_smoke ~ ~1 ~ 0.3 0.5 0.3 0 1

# ダウン時のループアニメ再生
execute if score @s General.Mob.Tick matches 30 as @e[type=item_display,tag=RW.ModelRoot.Target,distance=..8,sort=nearest,limit=1] run function animated_java:tultaria/animations/break_loop/tween {to_frame:0,duration:1}

# アニメ再生
execute if score @s General.Mob.Tick matches 197 as @e[type=item_display,tag=RW.ModelRoot.Target,distance=..8,sort=nearest,limit=1] run function animated_java:tultaria/animations/attack_magic_2_right/tween {to_frame:0,duration:1}

# 再召喚
execute if score @s General.Mob.Tick matches 200 run function asset:mob/1004.tultaria/tick/base_move/break/summon_illusion/

# アニメ再生
execute if score @s General.Mob.Tick matches 207 as @e[type=item_display,tag=RW.ModelRoot.Target,distance=..8,sort=nearest,limit=1] run function animated_java:tultaria/animations/attack_magic_1_left/tween {to_frame:0,duration:1}
execute if score @s General.Mob.Tick matches 207 as @e[type=item_display,tag=RW.ModelRoot.Target,distance=..8,sort=nearest,limit=1] run function animated_java:tultaria/variants/face_eyeopen/apply

# 復帰
execute if score @s General.Mob.Tick matches 240 run function asset:mob/1004.tultaria/tick/base_move/break/recovery
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
#> asset:mob/1004.tultaria/tick/base_move/loyalty_shield/
#
# 幻影がいる限り無敵
# 幻影がいる限りはカッチカチになる
#
# @within function asset:mob/1004.tultaria/tick/

# 無敵付与
effect give @s resistance 1 10 true
# 演出
particle minecraft:end_rod ~ ~1 ~ 0.3 0.5 0.3 0 1
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@

# デバッグ用処理: 技を名指しで指定
# TODO: ちゃんと消すんだよ!
# tag @s add RW.Skill.AimingLaser
# tag @s add RW.Skill.HomingShot
# return fail

# 技を選択、属性ごとに違う
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@
execute if score @s General.Mob.Tick matches 15 as @e[type=item_display,tag=RW.ModelRoot.Target,distance=..8,sort=nearest,limit=1] run function animated_java:tultaria/animations/attack_melee_2/tween {to_frame:0,duration:1}

# 警告
execute if score @s General.Mob.Tick matches 0 positioned ~ ~-0.5 ~ run function asset:mob/1004.tultaria/tick/skill/fire/blazing_slash/explosion/alert
execute if score @s[scores={RW.Phase=2..}] General.Mob.Tick matches 10 positioned ^5 ^-0.5 ^ run function asset:mob/1004.tultaria/tick/skill/fire/blazing_slash/explosion/alert
execute if score @s[scores={RW.Phase=2..}] General.Mob.Tick matches 10 positioned ^-5 ^-0.5 ^ run function asset:mob/1004.tultaria/tick/skill/fire/blazing_slash/explosion/alert
execute if score @s[scores={RW.Phase=3..}] General.Mob.Tick matches 20 positioned ^11 ^-0.5 ^ run function asset:mob/1004.tultaria/tick/skill/fire/blazing_slash/explosion/alert
execute if score @s[scores={RW.Phase=3..}] General.Mob.Tick matches 20 positioned ^-11 ^-0.5 ^ run function asset:mob/1004.tultaria/tick/skill/fire/blazing_slash/explosion/alert
execute if score @s General.Mob.Tick matches 0 positioned ~ ~-0.3 ~ run function asset:mob/1004.tultaria/tick/skill/fire/blazing_slash/explosion/alert
execute if score @s[scores={RW.Phase=2..}] General.Mob.Tick matches 10 positioned ^5 ^-0.3 ^ run function asset:mob/1004.tultaria/tick/skill/fire/blazing_slash/explosion/alert
execute if score @s[scores={RW.Phase=2..}] General.Mob.Tick matches 10 positioned ^-5 ^-0.3 ^ run function asset:mob/1004.tultaria/tick/skill/fire/blazing_slash/explosion/alert
execute if score @s[scores={RW.Phase=3..}] General.Mob.Tick matches 20 positioned ^11 ^-0.3 ^ run function asset:mob/1004.tultaria/tick/skill/fire/blazing_slash/explosion/alert
execute if score @s[scores={RW.Phase=3..}] General.Mob.Tick matches 20 positioned ^-11 ^-0.3 ^ run function asset:mob/1004.tultaria/tick/skill/fire/blazing_slash/explosion/alert

# 斬撃エフェクト
execute if score @s General.Mob.Tick matches 20 at @s run function asset:mob/1004.tultaria/tick/skill/fire/blazing_slash/slash
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,22 +7,22 @@
# メテオ落下1
# サウンド
execute if score @s General.Mob.Tick matches 20 at @a[distance=..100] run playsound minecraft:entity.ghast.shoot player @p ~ ~ ~ 3 1
# 拡散設置
execute if score @s General.Mob.Tick matches 20 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread
execute if score @s General.Mob.Tick matches 20 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread
# 拡散設置: ハード以上だと数が増える
execute if score @s General.Mob.Tick matches 20 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread
execute if score @s General.Mob.Tick matches 20 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread
execute if predicate api:global_vars/difficulty/min/normal if score @s General.Mob.Tick matches 20 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread
execute if predicate api:global_vars/difficulty/min/hard if score @s General.Mob.Tick matches 20 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread
# プレイヤー狙い
execute if score @s General.Mob.Tick matches 20 at @r[gamemode=!spectator,distance=..64] run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/aim

# メテオ落下2
# サウンド
execute if score @s General.Mob.Tick matches 40 at @a[distance=..100] run playsound minecraft:entity.ghast.shoot player @p ~ ~ ~ 3 1
# 拡散設置
execute if score @s General.Mob.Tick matches 40 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread
execute if score @s General.Mob.Tick matches 40 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread
# 拡散設置: ハード以上で増える
execute if score @s General.Mob.Tick matches 40 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread
execute if score @s General.Mob.Tick matches 40 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread
execute if predicate api:global_vars/difficulty/min/normal if score @s General.Mob.Tick matches 40 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread
execute if predicate api:global_vars/difficulty/min/hard if score @s General.Mob.Tick matches 40 run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/spread
# プレイヤー狙い
execute if score @s General.Mob.Tick matches 20 at @r[gamemode=!spectator,distance=..64] run function asset:mob/1004.tultaria/tick/skill/fire/meteor_rain/meteor/aim

Expand Down
Loading