Skip to content

Commit e443dbf

Browse files
committed
技1個目まで完成
1 parent 26e63fd commit e443dbf

35 files changed

+723
-20
lines changed

Asset/data/asset/functions/mob/0365.frestchika_v2/_index.d.mcfunction

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,11 @@
1414
#declare tag A5.Temp.This
1515
#declare tag A5.Temp.Target
1616
#declare tag A5.Landing
17-
# 他のMob
17+
# Projectile
18+
#declare tag A5.SechsThunder
19+
#declare tag A5.PlasmaBullet
1820

1921
#> val
20-
# @within function asset:mob/0341.louvert/**
22+
# @within function asset:mob/0365.frestchika_v2/**
2123
#declare score_holder $A5.Temp
2224
#declare objective 89.TickCount
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
#> asset:mob/0365.frestchika_v2/ai/animation/
2+
#
3+
# アニメーション分岐
4+
#
5+
# @within function asset:mob/0365.frestchika_v2/tick/
6+
7+
# 二連突進 準備
8+
execute if score @s A5.AnimationNum matches 10 run function asset:mob/0365.frestchika_v2/ai/animation/1_0_tackle_pre/
9+
10+
# 二連突進 移動
11+
execute if score @s A5.AnimationNum matches 11 run function asset:mob/0365.frestchika_v2/ai/animation/1_1_tackle_move/
12+
13+
# 二連突進 斬撃
14+
execute if score @s A5.AnimationNum matches 12 run function asset:mob/0365.frestchika_v2/ai/animation/1_2_tackle_slash/
15+
16+
# プラズマショック
17+
execute if score @s A5.AnimationNum matches 20 run function asset:mob/0365.frestchika_v2/ai/animation/2_0_plasma_shock/
18+
19+
# オープニング
20+
execute if score @s A5.AnimationNum matches 2000 run function asset:mob/0365.frestchika_v2/ai/animation/200_0_opening/
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
#> asset:mob/0365.frestchika_v2/ai/animation/1_0_tackle_pre/
2+
#
3+
# アニメーション分岐
4+
#
5+
# @within function asset:mob/0365.frestchika_v2/ai/animation/
6+
7+
# プレイヤーの周りにTP
8+
execute if score @s A5.AnimationTick matches 1 run function asset:mob/0365.frestchika_v2/ai/animation/1_0_tackle_pre/tp_around
9+
10+
# アニメーション再生
11+
execute if score @s A5.AnimationTick matches 1 as @e[type=item_display,tag=A5.Root.This,distance=..100] run function animated_java:frestchika_v2/animations/1_0_former_tackle_pre/play
12+
13+
# ギリギリまでこちらを向く
14+
execute if score @s A5.AnimationTick matches 2..20 run function asset:mob/0365.frestchika_v2/ai/general/2.rotate
15+
16+
# アニメーション終了処理
17+
execute if score @s A5.AnimationTick matches 20 run scoreboard players set @s A5.AnimationNum 11
18+
execute if score @s A5.AnimationTick matches 20 run scoreboard players set @s A5.AnimationTick 0
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
#> asset:mob/0365.frestchika_v2/ai/animation/1_0_tackle_pre/tp_around
2+
#
3+
# プレイヤーの周りにTPする
4+
#
5+
# @within function asset:mob/0365.frestchika_v2/ai/animation/1_0_tackle_pre/
6+
7+
# マーカーを使用して移動する
8+
# マーカーを今の座標に
9+
tp 0-0-0-0-0 ^ ^ ^ ~ ~
10+
# プレイヤーのところにマーカーを移動
11+
execute at @a[tag=!PlayerShouldInvulnerable,distance=..100,sort=random,limit=1] run tp 0-0-0-0-0 ^ ^ ^ ~ ~
12+
# 拡散値
13+
data modify storage lib: Argument.Bounds set value [[6d,6d],[0d,0d],[6d,6d]]
14+
# 拡散する
15+
execute as 0-0-0-0-0 at @s run function lib:spread_entity/
16+
# 0-0-0-0-0の埋まりを回避するループ処理
17+
execute at 0-0-0-0-0 facing entity @s feet unless block ^ ^ ^ #lib:no_collision run function asset:mob/0365.frestchika_v2/ai/animation/1_0_tackle_pre/tp_around_loop
18+
# 0-0-0-0-0をプレイヤーの方に向かせる
19+
execute as 0-0-0-0-0 at @s facing entity @a[tag=!PlayerShouldInvulnerable,distance=..100,sort=nearest,limit=1] feet run tp @s ^ ^ ^ ~ ~
20+
# 0-0-0-0-0の位置に移動
21+
execute at 0-0-0-0-0 run function asset:mob/0365.frestchika_v2/ai/general/1.teleport
22+
# 演出もしておく
23+
function asset:mob/0365.frestchika_v2/ai/general/3.teleport_effect/
24+
25+
# Makerを戻してあげる
26+
execute in overworld run tp 0-0-0-0-0 0.0 0.0 0.0
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#> asset:mob/0365.frestchika_v2/ai/animation/1_0_tackle_pre/tp_around_loop
2+
#
3+
# 埋まり回避のループ処理
4+
#
5+
# @within function
6+
# asset:mob/0365.frestchika_v2/ai/animation/1_0_tackle_pre/tp_around
7+
# asset:mob/0365.frestchika_v2/ai/animation/1_0_tackle_pre/tp_around_loop
8+
9+
# 少し前に進んで判定
10+
tp 0-0-0-0-0 ^ ^ ^0.25 ~ ~
11+
execute at 0-0-0-0-0 unless block ^ ^ ^ #lib:no_collision unless entity @s[distance=..0.25] run function asset:mob/0365.frestchika_v2/ai/animation/1_0_tackle_pre/tp_around_loop
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
#> asset:mob/0365.frestchika_v2/ai/animation/1_1_tackle_move/
2+
#
3+
# 二連突進 移動
4+
#
5+
# @within function asset:mob/0365.frestchika_v2/ai/animation/
6+
7+
# アニメーション再生
8+
execute if score @s A5.AnimationTick matches 1 as @e[type=item_display,tag=A5.Root.This,distance=..100] run function animated_java:frestchika_v2/animations/1_1_former_tackle_move/play
9+
10+
# 突進
11+
execute if score @s A5.AnimationTick matches 1..12 run function asset:mob/0365.frestchika_v2/ai/animation/1_1_tackle_move/move
12+
13+
# 演出
14+
execute if score @s A5.AnimationTick matches 1 run playsound minecraft:entity.wither.shoot hostile @a ~ ~ ~ 1 0.7
15+
execute if score @s A5.AnimationTick matches 17 run playsound minecraft:entity.wither.shoot hostile @a ~ ~ ~ 1 0.7
16+
17+
# 向き転換
18+
execute if score @s A5.AnimationTick matches 13 facing entity @p feet run function asset:mob/0365.frestchika_v2/ai/animation/1_1_tackle_move/move
19+
20+
# 突進
21+
execute if score @s A5.AnimationTick matches 17..28 run function asset:mob/0365.frestchika_v2/ai/animation/1_1_tackle_move/move
22+
23+
# 慣性
24+
execute if score @s A5.AnimationTick matches 29 positioned ^ ^ ^0.75 run function asset:mob/0365.frestchika_v2/ai/general/1.teleport
25+
execute if score @s A5.AnimationTick matches 30 positioned ^ ^ ^0.5 run function asset:mob/0365.frestchika_v2/ai/general/1.teleport
26+
execute if score @s A5.AnimationTick matches 31 positioned ^ ^ ^0.4 run function asset:mob/0365.frestchika_v2/ai/general/1.teleport
27+
execute if score @s A5.AnimationTick matches 32 positioned ^ ^ ^0.3 run function asset:mob/0365.frestchika_v2/ai/general/1.teleport
28+
execute if score @s A5.AnimationTick matches 33 positioned ^ ^ ^0.2 run function asset:mob/0365.frestchika_v2/ai/general/1.teleport
29+
execute if score @s A5.AnimationTick matches 34 positioned ^ ^ ^0.1 run function asset:mob/0365.frestchika_v2/ai/general/1.teleport
30+
execute if score @s A5.AnimationTick matches 35 positioned ^ ^ ^0.05 run function asset:mob/0365.frestchika_v2/ai/general/1.teleport
31+
execute if score @s A5.AnimationTick matches 36 positioned ^ ^ ^0.025 run function asset:mob/0365.frestchika_v2/ai/general/1.teleport
32+
33+
# アニメーション終了処理
34+
execute if score @s A5.AnimationTick matches 40 run scoreboard players set @s A5.AnimationTick -1
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
#> asset:mob/0365.frestchika_v2/ai/animation/1_1_tackle_move/move
2+
#
3+
# 突進 分岐
4+
#
5+
# @within function asset:mob/0365.frestchika_v2/ai/animation/1_1_tackle_move/
6+
7+
# 自身を前進させる
8+
execute positioned ^ ^ ^1 run function asset:mob/0365.frestchika_v2/ai/general/1.teleport
9+
10+
# 前進した先にプレイヤーがいたらスコアを飛ばす
11+
execute at @s if entity @p[tag=!PlayerShouldInvulnerable,distance=..1.5] run scoreboard players set @s A5.AnimationNum 12
12+
execute at @s if entity @p[tag=!PlayerShouldInvulnerable,distance=..1.5] run scoreboard players set @s A5.AnimationTick 0
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#> asset:mob/0365.frestchika_v2/ai/animation/1_2_tackle_slash/
2+
#
3+
# 二連突進 斬撃
4+
#
5+
# @within function asset:mob/0365.frestchika_v2/ai/animation/
6+
7+
# アニメーション再生
8+
execute if score @s A5.AnimationTick matches 1 as @e[type=item_display,tag=A5.Root.This,distance=..100] run function animated_java:frestchika_v2/animations/1_2_former_tackle_slash/play
9+
10+
# 演出
11+
execute if score @s A5.AnimationTick matches 1 run playsound item.trident.return hostile @a ~ ~ ~ 1 2
12+
execute if score @s A5.AnimationTick matches 5 run playsound item.trident.return hostile @a ~ ~ ~ 1 2
13+
execute if score @s A5.AnimationTick matches 18 run playsound item.trident.return hostile @a ~ ~ ~ 1 2
14+
15+
# ダメージ
16+
execute if score @s A5.AnimationTick matches 3 run function asset:mob/0365.frestchika_v2/ai/animation/1_2_tackle_slash/damage
17+
execute if score @s A5.AnimationTick matches 8 run function asset:mob/0365.frestchika_v2/ai/animation/1_2_tackle_slash/damage
18+
execute if score @s A5.AnimationTick matches 20 run function asset:mob/0365.frestchika_v2/ai/animation/1_2_tackle_slash/damage2
19+
20+
# アニメーション終了処理
21+
execute if score @s A5.AnimationTick matches 35 run scoreboard players set @s A5.AnimationTick -1
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#> asset:mob/0365.frestchika_v2/ai/animation/1_2_tackle_slash/damage
2+
#
3+
# ダメージ判定
4+
#
5+
# @within function asset:mob/0365.frestchika_v2/ai/animation/1_2_tackle_slash/
6+
7+
# ダメージ設定
8+
# 与えるダメージ
9+
data modify storage lib: Argument.Damage set value 18.0f
10+
# 魔法属性
11+
data modify storage lib: Argument.AttackType set value "Physical"
12+
# 雷属性
13+
data modify storage lib: Argument.ElementType set value "Thunder"
14+
# デスログ
15+
data modify storage lib: Argument.DeathMessage append value '[{"translate": "%1$sは%2$sによって両断されてしまった。","with":[{"selector":"@s"},{"nbt":"Return.AttackerName","storage":"lib:","interpret":true}]}]'
16+
# ダメージ
17+
function lib:damage/modifier
18+
execute positioned ^ ^ ^1.5 as @a[tag=!PlayerShouldInvulnerable,distance=..1.5] at @s run function lib:damage/
19+
# リセット
20+
function lib:damage/reset
21+
22+
execute positioned ^ ^ ^1.5 as @a[tag=!PlayerShouldInvulnerable,distance=..1.5] at @s run particle dust 0 0.8 100000000 0.7 ~ ~1 ~ 0.6 0.6 0.6 0 25 normal @a[distance=..32]
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
#> asset:mob/0365.frestchika_v2/ai/animation/1_2_tackle_slash/damage2
2+
#
3+
# ダメージ判定(回転斬り)
4+
#
5+
# @within function asset:mob/0365.frestchika_v2/ai/animation/1_2_tackle_slash/
6+
7+
# ダメージ設定
8+
# 与えるダメージ
9+
data modify storage lib: Argument.Damage set value 24.0f
10+
# 魔法属性
11+
data modify storage lib: Argument.AttackType set value "Physical"
12+
# 雷属性
13+
data modify storage lib: Argument.ElementType set value "Thunder"
14+
# デスログ
15+
data modify storage lib: Argument.DeathMessage append value '[{"translate": "%1$sは%2$sによって両断されてしまった。","with":[{"selector":"@s"},{"nbt":"Return.AttackerName","storage":"lib:","interpret":true}]}]'
16+
# ダメージ
17+
function lib:damage/modifier
18+
execute as @a[tag=!PlayerShouldInvulnerable,distance=..3] at @s run function lib:damage/
19+
# リセット
20+
function lib:damage/reset
21+
22+
execute as @a[tag=!PlayerShouldInvulnerable,distance=..3] at @s run particle dust 0 0.8 100000000 0.7 ~ ~1 ~ 0.6 0.6 0.6 0 25 normal @a[distance=..32]
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#> asset:mob/0365.frestchika_v2/ai/animation/200_0_opening/
2+
#
3+
# オープニングの演出
4+
#
5+
# @within function asset:mob/0365.frestchika_v2/ai/animation/
6+
7+
# アニメーション再生
8+
execute if score @s A5.AnimationTick matches 1 as @e[type=item_display,tag=A5.Root.This,distance=..100] run function animated_java:frestchika_v2/animations/200_0_opening/play
9+
10+
# 溜め音
11+
execute if score @s A5.AnimationTick matches 11..21 run function asset:mob/0365.frestchika_v2/ai/animation/200_0_opening/1.charge_sound_calc
12+
13+
# 雷
14+
execute if score @s A5.AnimationTick matches 33 run playsound entity.lightning_bolt.thunder hostile @a ~ ~ ~ 1 1.2
15+
execute if score @s A5.AnimationTick matches 36 run playsound entity.lightning_bolt.thunder hostile @a ~ ~ ~ 1 1.3
16+
execute if score @s A5.AnimationTick matches 39 run playsound entity.lightning_bolt.thunder hostile @a ~ ~ ~ 1 1.4
17+
18+
# 雷バリバリ演出
19+
execute if score @s A5.AnimationTick matches 38 rotated ~10 ~ positioned ~ ~1 ~ run function asset:mob/0365.frestchika_v2/ai/animation/200_0_opening/3.particle
20+
execute if score @s A5.AnimationTick matches 41 rotated ~20 ~ positioned ~ ~1 ~ run function asset:mob/0365.frestchika_v2/ai/animation/200_0_opening/3.particle
21+
execute if score @s A5.AnimationTick matches 44 rotated ~30 ~ positioned ~ ~1 ~ run function asset:mob/0365.frestchika_v2/ai/animation/200_0_opening/3.particle
22+
23+
# ゼクスサンダー召喚
24+
execute if score @s A5.AnimationTick matches 35 run function asset:mob/0365.frestchika_v2/ai/animation/200_0_opening/4.thunder_summon
25+
26+
# アニメーション終了処理
27+
execute if score @s A5.AnimationTick matches 66 run scoreboard players set @s A5.AnimationTick -1
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
#> asset:mob/0365.frestchika_v2/ai/animation/200_0_opening/1.charge_sound_calc
2+
#
3+
# チャージ音(計算処理)
4+
#
5+
# @within function asset:mob/0365.frestchika_v2/ai/animation/200_0_opening/
6+
7+
# スコア調整
8+
scoreboard players operation $A5.Temp A5.AnimationTick = @s A5.AnimationTick
9+
scoreboard players remove $A5.Temp A5.AnimationTick 11
10+
execute store result storage asset:temp A5.Num float 0.05 run scoreboard players operation $A5.Temp A5.AnimationTick += $10 Const
11+
12+
# マクロ起動
13+
function asset:mob/0365.frestchika_v2/ai/animation/200_0_opening/2.charge_sound.m with storage asset:temp A5
14+
15+
# リセット
16+
scoreboard players reset $A5.Temp A5.AnimationTick
17+
data remove storage asset:temp A5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#> asset:mob/0365.frestchika_v2/ai/animation/200_0_opening/2.charge_sound.m
2+
#
3+
# チャージサウンドのマクロ
4+
#
5+
# @input args
6+
# Num : Sound Pitch
7+
# @within function
8+
# asset:mob/0365.frestchika_v2/ai/animation/200_0_opening/1.charge_sound_calc
9+
10+
$playsound entity.illusioner.prepare_mirror hostile @a[distance=..32] ~ ~ ~ 0.5 $(Num) 0

0 commit comments

Comments
 (0)