Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
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
Expand Up @@ -8,6 +8,9 @@
playsound minecraft:entity.item.break hostile @a ~ ~ ~ 1 1.2
playsound minecraft:block.note_block.bass hostile @a ~ ~ ~ 1 0.5

# 攻撃者が範囲外だったら臆病風を付与して反撃
execute as @a[tag=!PlayerShouldInvulnerable,distance=..256] positioned ~-64 ~5 ~-64 if entity @s[dx=127,dy=64,dz=127] at @s run function asset:mob/0437.lawless_iron_doll/hurt/chicken_out/give

# ヘルスチェック
execute if entity @s[scores={C5.Phase=1}] run function asset:mob/0437.lawless_iron_doll/hurt/health_check

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#> asset:mob/0437.lawless_iron_doll/hurt/chicken_out/give
#
# 臆病風を付与してやる
#
# @within function asset:mob/0437.lawless_iron_doll/hurt/

# タイトル表示
title @p title {"text":""}
title @p subtitle {"text":"ここから降りたほうがよさそうだ"}
title @s times 0 20 5

# 演出
playsound minecraft:entity.illusioner.cast_spell neutral @s ~ ~ ~ 1 1
particle minecraft:dust_plume ~ ~1 ~ 0.2 0.2 0.2 0.1 50 force @a[distance=..32]

# 実際の付与
data modify storage api: Argument.ID set value 654
data modify storage api: Argument.Stack set value 1
function api:entity/mob/effect/give
function api:entity/mob/effect/reset
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
execute store result score $HealthPercent Temporary run data get storage api: Return.HealthPer 100

# HP50%以下だったら、その動作を発動。
execute if score $HealthPercent Temporary matches ..50 run function asset:mob/0437.lawless_iron_doll/hurt/active_50per
function asset:mob/0437.lawless_iron_doll/hurt/active_50per

# リセット
scoreboard players reset $HealthPercent Temporary
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,5 @@
#
# @within function asset:mob/0437.lawless_iron_doll/tick/base_move/

# 範囲内に自分のよりちょっと高いところにいるやつがいるなら、そいつにデバフを付与
execute as @a[tag=!PlayerShouldInvulnerable,distance=..256] positioned ~-64 ~5 ~-64 if entity @s[dx=127,dy=64,dz=127] run function asset:mob/0437.lawless_iron_doll/tick/base_move/chicken_out/give_check

# デバフの範囲外に出たらデバフを解除
execute as @a[gamemode=!spectator,distance=..256] positioned ~-64 ~5 ~-64 unless entity @s[dx=127,dy=64,dz=127] run function asset:mob/0437.lawless_iron_doll/tick/base_move/chicken_out/remove_check

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#> asset:mob/0437.lawless_iron_doll/tick/base_move/skill/chaser_shot/shoot
#
# 放つ
#
# @within function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/chaser_shot/tick

# 基本の数
function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/chaser_shot/summon
function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/chaser_shot/summon
function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/chaser_shot/summon

# 難易度による追加など
# ハード
execute if predicate api:global_vars/difficulty/min/2_hard run function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/chaser_shot/summon
# Blessless
execute if predicate api:global_vars/difficulty/min/3_blessless run function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/chaser_shot/summon

# 演出
playsound minecraft:entity.blaze.shoot hostile @a ~ ~ ~ 2 1.5
playsound minecraft:entity.shulker.shoot hostile @a ~ ~ ~ 2 1
playsound minecraft:entity.warden.attack_impact hostile @a ~ ~ ~ 2 1.2
particle explosion ~ ~ ~ 0.2 0.2 0.2 1 3 force @a[distance=..32]
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#> asset:mob/0437.lawless_iron_doll/tick/base_move/skill/chaser_shot/summon
#
#
#
# @within function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/chaser_shot/shoot

#> SpreadLib
# @private
#declare tag SpreadMarker

# マーカーを召喚
summon marker ~ ~ ~ {Tags:["SpreadMarker"]}

# 拡散
data modify storage lib: Argument.Bounds set value [[16d,16d],[0d,0.0d],[16d,16d]]
execute as @e[type=marker,tag=SpreadMarker,limit=1] run function lib:spread_entity/

# 置いておいたマーカーに向けてオブジェクトを出す
data modify storage api: Argument.ID set value 2242
execute store result storage api: Argument.FieldOverride.Damage int 1 run data get storage asset:context this.Damage.ChaserShot
execute store result storage api: Argument.FieldOverride.MobUUID int 1 run scoreboard players get @s MobUUID
execute facing entity @e[type=marker,tag=SpreadMarker,distance=..256,sort=nearest,limit=1] feet rotated ~ ~-45 run function api:object/summon

# マーカーをキル
kill @e[type=marker,tag=SpreadMarker,limit=1]

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,20 @@
# 近くのプレイヤーの方にそこそこの速度で向き直る
execute if score @s General.Mob.Tick matches 0..20 facing entity @p[gamemode=!spectator,distance=..256] feet positioned ^ ^ ^-1 rotated as @s positioned ^ ^ ^-10 facing entity @s feet positioned as @s rotated ~ ~ run tp @s ~ ~ ~ ~ ~

# 予備動作中の演出
execute if score @s General.Mob.Tick matches 10..25 run particle minecraft:dust 0.5 0 1 2 ~ ~1.5 ~ 1 1 1 1 5 force @a[distance=..64]

# Tickまたいで鳴らしたい音
execute if score @s General.Mob.Tick matches 15 run playsound ogg:mob.breeze.charge1 hostile @a ~ ~ ~ 2 0.5
execute if score @s General.Mob.Tick matches 20 run playsound ogg:mob.breeze.charge1 hostile @a ~ ~ ~ 2 0.7
execute if score @s General.Mob.Tick matches 25 run playsound ogg:mob.breeze.charge1 hostile @a ~ ~ ~ 2 0.9
execute if score @s General.Mob.Tick matches 10 run playsound minecraft:entity.illusioner.prepare_blindness hostile @a ~ ~ ~ 2 0.9
execute if score @s General.Mob.Tick matches 15 run playsound minecraft:entity.illusioner.prepare_blindness hostile @a ~ ~ ~ 2 1.1
execute if score @s General.Mob.Tick matches 20 run playsound minecraft:entity.illusioner.prepare_blindness hostile @a ~ ~ ~ 2 1.3
execute if score @s General.Mob.Tick matches 25 run playsound minecraft:entity.illusioner.prepare_blindness hostile @a ~ ~ ~ 2 1.5

# 攻撃の発動よりちょっと前にアニメ再生
execute if score @s General.Mob.Tick matches 27 as @e[type=item_display,tag=C5.ModelRoot.Target,sort=nearest,limit=1] run function animated_java:lawless_iron_doll/animations/attack_ranged_2_activate/tween {to_frame: 0, duration: 1}

# 薙ぎ払い、そして飛んでいくオブジェクト
execute if score @s General.Mob.Tick matches 30 run function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/chaser_shot/activate
# 攻撃する
execute if score @s General.Mob.Tick matches 30 positioned ~ ~2.5 ~ run function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/chaser_shot/shoot

# ニュートラルポーズに戻る
execute if score @s General.Mob.Tick matches 60 as @e[type=item_display,tag=C5.ModelRoot.Target,sort=nearest,limit=1] run function animated_java:lawless_iron_doll/animations/neutral/tween {to_frame: 0, duration: 5}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,3 @@
playsound minecraft:item.axe.scrape hostile @a ~ ~ ~ 2 1.5
playsound minecraft:item.trident.return hostile @a ~ ~ ~ 2 1.0
playsound minecraft:item.trident.return hostile @a ~ ~ ~ 2 1.5

# 付近のプレイヤーをランダムに選択して、近くにオブジェクトを出すためのマーカーを置く
execute at @p[gamemode=!spectator,distance=..32,sort=random] positioned ~ ~1 ~ run function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/chaser_shot/summon/marker
execute at @p[gamemode=!spectator,distance=..32,sort=random] positioned ~ ~1 ~ run function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/chaser_shot/summon/marker
execute at @p[gamemode=!spectator,distance=..32,sort=random] positioned ~ ~1 ~ run function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/chaser_shot/summon/marker

# 難易度による追加など
# ハード
execute if predicate api:global_vars/difficulty/min/2_hard positioned ~ ~1 ~ run function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/chaser_shot/summon/marker
# Blessless
execute if predicate api:global_vars/difficulty/min/3_blessless positioned ~ ~1 ~ run function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/chaser_shot/summon/marker
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# @within function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/horizontal_slash_shot/alert/**

# データ設定
data modify storage api: Argument.FieldOverride set value {Color:16732754,Interpolation:5,Tick:10,Scale:[5f,30.0f]}
data modify storage api: Argument.FieldOverride set value {Color:16732754,Interpolation:10,Tick:20,Scale:[5f,30.0f]}

# そのまま召喚すると地面に重なっちゃうので、ちょっと上げて召喚
data modify storage api: Argument.ID set value 2113
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
#
# @within function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/horizontal_slash_shot/**

# オブジェクト2241番をデータ指定した上で召喚する
# オブジェクトをデータ指定した上で召喚する
data modify storage api: Argument.ID set value 2241
data modify storage api: Argument.FieldOverride.Range set value 70
data modify storage api: Argument.FieldOverride.Speed set value 2
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,27 +11,33 @@
execute if score @s General.Mob.Tick matches 0..10 facing entity @p[gamemode=!spectator,distance=..256] feet positioned ^ ^ ^-1 rotated as @s positioned ^ ^ ^-10 facing entity @s feet positioned as @s rotated ~ ~ run tp @s ~ ~ ~ ~ ~

# Tickまたいで鳴らしたい音
execute if score @s General.Mob.Tick matches 5 run playsound ogg:mob.breeze.charge1 hostile @a ~ ~ ~ 2 0.5
execute if score @s General.Mob.Tick matches 10 run playsound ogg:mob.breeze.charge1 hostile @a ~ ~ ~ 2 0.7
execute if score @s General.Mob.Tick matches 15 run playsound ogg:mob.breeze.charge1 hostile @a ~ ~ ~ 2 0.9
execute if score @s General.Mob.Tick matches 5 run playsound ogg:mob.breeze.charge1 hostile @a ~ ~ ~ 2 0.8
execute if score @s General.Mob.Tick matches 10 run playsound ogg:mob.breeze.charge1 hostile @a ~ ~ ~ 2 1.0
execute if score @s General.Mob.Tick matches 15 run playsound ogg:mob.breeze.charge1 hostile @a ~ ~ ~ 2 1.2
execute if score @s General.Mob.Tick matches 20 run playsound minecraft:entity.blaze.shoot hostile @a ~ ~ ~ 2 1.2
execute if score @s General.Mob.Tick matches 20 run playsound ogg:block.smithing_table.smithing_table2 player @a ~ ~ ~ 2 1.3

# チャージ完了時に演出
execute if score @s General.Mob.Tick matches 20 positioned ~ ~1 ~ run particle electric_spark ~ ~1.5 ~ 0.5 0.5 0.5 1.5 100 force @a[distance=..32]
execute if score @s General.Mob.Tick matches 20 positioned ~ ~1 ~ run particle minecraft:dust 0.8 0.1 0.1 2 ~ ~1 ~ 0.8 0.8 0.8 1 50 force @a[distance=..32]

# 警告!
execute if score @s General.Mob.Tick matches 10 run function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/horizontal_slash_shot/alert/

# 攻撃の発動よりちょっと前にアニメ再生
execute if score @s General.Mob.Tick matches 17 as @e[type=item_display,tag=C5.ModelRoot.Target,sort=nearest,limit=1] run function animated_java:lawless_iron_doll/animations/attack_melee_2_activate/tween {to_frame: 0, duration: 1}
execute if score @s General.Mob.Tick matches 27 as @e[type=item_display,tag=C5.ModelRoot.Target,sort=nearest,limit=1] run function animated_java:lawless_iron_doll/animations/attack_melee_2_activate/tween {to_frame: 0, duration: 1}

# 薙ぎ払い、そして飛んでいくオブジェクト
execute if score @s General.Mob.Tick matches 20 run function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/horizontal_slash_shot/activate
execute if score @s General.Mob.Tick matches 30 run function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/horizontal_slash_shot/activate

# Blessless限定で、ジャンプ狩りの2発目を構える
execute if predicate api:global_vars/difficulty/min/3_blessless if score @s[scores={C5.Phase=2..}] General.Mob.Tick matches 27 as @e[type=item_display,tag=C5.ModelRoot.Target,sort=nearest,limit=1] run function animated_java:lawless_iron_doll/animations/attack_melee_3_activate/tween {to_frame: 0, duration: 1}
# Blessless: 第2形態以降、ジャンプ狩りの2発目を構える
execute if predicate api:global_vars/difficulty/min/3_blessless if score @s[scores={C5.Phase=2..}] General.Mob.Tick matches 37 as @e[type=item_display,tag=C5.ModelRoot.Target,sort=nearest,limit=1] run function animated_java:lawless_iron_doll/animations/attack_melee_3_activate/tween {to_frame: 0, duration: 1}

# Blessless限定で、ジャンプ狩りを放つ
execute if predicate api:global_vars/difficulty/min/3_blessless if score @s[scores={C5.Phase=2..}] General.Mob.Tick matches 30 run function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/horizontal_slash_shot/activate_second_slash
# Blessless: 第2形態以降、ジャンプ狩りを放つ
execute if predicate api:global_vars/difficulty/min/3_blessless if score @s[scores={C5.Phase=2..}] General.Mob.Tick matches 50 run function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/horizontal_slash_shot/activate_second_slash

# ニュートラルポーズに戻る、ただしBlesslessでは、直前のアニメの都合でやらない。
execute if predicate api:global_vars/difficulty/max/2_hard if score @s General.Mob.Tick matches 50 as @e[type=item_display,tag=C5.ModelRoot.Target,sort=nearest,limit=1] run function animated_java:lawless_iron_doll/animations/neutral/tween {to_frame: 0, duration: 5}
execute if predicate api:global_vars/difficulty/max/2_hard if score @s General.Mob.Tick matches 60 as @e[type=item_display,tag=C5.ModelRoot.Target,sort=nearest,limit=1] run function animated_java:lawless_iron_doll/animations/neutral/tween {to_frame: 0, duration: 5}

# リセット
execute if score @s General.Mob.Tick matches 55.. run function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/reset
execute if score @s General.Mob.Tick matches 65.. run function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/reset
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,24 @@
# @within function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/shockwave/tick

# 衝撃波を放つ!
function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/shockwave/projectile/
execute positioned ~ ~1.5 ~ run function asset:mob/0437.lawless_iron_doll/tick/base_move/skill/shockwave/projectile/

# 斬撃の演出も召喚する
data modify storage api: Argument.ID set value 2001
data modify storage api: Argument.FieldOverride set value {Color:12899545,Frames:[20335,20335,20336,20337],Scale:[10f,10f,0.1f],Transformation:{left_rotation:[-0.683f,-0.183f,-0.683f,0.183f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f]}}
execute anchored eyes rotated ~ 0 positioned ^ ^ ^2 positioned ~ ~-0.5 ~ rotated ~ 0 run function api:object/summon
data modify storage api: Argument.FieldOverride set value {Color:12899545,Frames:[20335,20335,20336,20337],Scale:[10f,10f,0.1f],Transformation:{left_rotation:[0.561f,-0.43f,0.43f,0.561f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f]}}
execute anchored eyes rotated ~ 0 positioned ^ ^ ^2 positioned ~ ~-0.5 ~ rotated ~-45 5 run function api:object/summon

# 眼の前の判定
# 判定
data modify storage lib: Argument.BoundingFan set value {Angle:45,Radius:5,Height:5,Selector:"@a[tag=!PlayerShouldInvulnerable,distance=..16]"}
# 判定その1、狭いが高い。
data modify storage lib: Argument.BoundingFan set value {Angle:180,Radius:4,Height:5,Selector:"@a[tag=!PlayerShouldInvulnerable,distance=..16]"}
# 扇型の判定を出す
execute positioned ~ ~-2.5 ~ run function lib:bounding_fan/
# 判定その2、広いけど薄いので飛び越えれる
data modify storage lib: Argument.BoundingFan set value {Angle:160,Radius:6,Height:2,Selector:"@a[tag=!PlayerShouldInvulnerable,distance=..16]"}
# 扇型の判定を出す
execute positioned ~ ~-1 ~ run function lib:bounding_fan/
# 与えるダメージ
data modify storage api: Argument.Damage set from storage asset:context this.Damage.Slash2
data modify storage api: Argument.Damage set from storage asset:context this.Damage.Slash1
# 属性1
data modify storage api: Argument.AttackType set value "Physical"
# 属性2
Expand All @@ -31,6 +35,6 @@
tag @a[tag=BoundingFan,distance=..16] remove BoundingFan

# 演出
playsound minecraft:item.trident.throw hostile @a ~ ~ ~ 2 0.5
playsound minecraft:item.trident.throw hostile @a ~ ~ ~ 2 0.6
playsound minecraft:item.axe.scrape hostile @a ~ ~ ~ 1 1.5
playsound ogg:mob.breeze.jump2 hostile @a ~ ~ ~ 2 0.5
playsound minecraft:item.trident.return hostile @a ~ ~ ~ 2 1.5
playsound minecraft:block.respawn_anchor.deplete hostile @a ~ ~ ~ 2 2
Loading