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]

0 commit comments

Comments
 (0)