Skip to content

Commit

Permalink
技1個目まで完成
Browse files Browse the repository at this point in the history
  • Loading branch information
EllaCoat committed Feb 8, 2024
1 parent 26e63fd commit e443dbf
Show file tree
Hide file tree
Showing 35 changed files with 723 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,11 @@
#declare tag A5.Temp.This
#declare tag A5.Temp.Target
#declare tag A5.Landing
# 他のMob
# Projectile
#declare tag A5.SechsThunder
#declare tag A5.PlasmaBullet

#> val
# @within function asset:mob/0341.louvert/**
# @within function asset:mob/0365.frestchika_v2/**
#declare score_holder $A5.Temp
#declare objective 89.TickCount
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
#> asset:mob/0365.frestchika_v2/ai/animation/
#
# アニメーション分岐
#
# @within function asset:mob/0365.frestchika_v2/tick/

# 二連突進 準備
execute if score @s A5.AnimationNum matches 10 run function asset:mob/0365.frestchika_v2/ai/animation/1_0_tackle_pre/

# 二連突進 移動
execute if score @s A5.AnimationNum matches 11 run function asset:mob/0365.frestchika_v2/ai/animation/1_1_tackle_move/

# 二連突進 斬撃
execute if score @s A5.AnimationNum matches 12 run function asset:mob/0365.frestchika_v2/ai/animation/1_2_tackle_slash/

# プラズマショック
execute if score @s A5.AnimationNum matches 20 run function asset:mob/0365.frestchika_v2/ai/animation/2_0_plasma_shock/

# オープニング
execute if score @s A5.AnimationNum matches 2000 run function asset:mob/0365.frestchika_v2/ai/animation/200_0_opening/
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#> asset:mob/0365.frestchika_v2/ai/animation/1_0_tackle_pre/
#
# アニメーション分岐
#
# @within function asset:mob/0365.frestchika_v2/ai/animation/

# プレイヤーの周りにTP
execute if score @s A5.AnimationTick matches 1 run function asset:mob/0365.frestchika_v2/ai/animation/1_0_tackle_pre/tp_around

# アニメーション再生
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

# ギリギリまでこちらを向く
execute if score @s A5.AnimationTick matches 2..20 run function asset:mob/0365.frestchika_v2/ai/general/2.rotate

# アニメーション終了処理
execute if score @s A5.AnimationTick matches 20 run scoreboard players set @s A5.AnimationNum 11
execute if score @s A5.AnimationTick matches 20 run scoreboard players set @s A5.AnimationTick 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
#> asset:mob/0365.frestchika_v2/ai/animation/1_0_tackle_pre/tp_around
#
# プレイヤーの周りにTPする
#
# @within function asset:mob/0365.frestchika_v2/ai/animation/1_0_tackle_pre/

# マーカーを使用して移動する
# マーカーを今の座標に
tp 0-0-0-0-0 ^ ^ ^ ~ ~
# プレイヤーのところにマーカーを移動
execute at @a[tag=!PlayerShouldInvulnerable,distance=..100,sort=random,limit=1] run tp 0-0-0-0-0 ^ ^ ^ ~ ~
# 拡散値
data modify storage lib: Argument.Bounds set value [[6d,6d],[0d,0d],[6d,6d]]
# 拡散する
execute as 0-0-0-0-0 at @s run function lib:spread_entity/
# 0-0-0-0-0の埋まりを回避するループ処理
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
# 0-0-0-0-0をプレイヤーの方に向かせる
execute as 0-0-0-0-0 at @s facing entity @a[tag=!PlayerShouldInvulnerable,distance=..100,sort=nearest,limit=1] feet run tp @s ^ ^ ^ ~ ~
# 0-0-0-0-0の位置に移動
execute at 0-0-0-0-0 run function asset:mob/0365.frestchika_v2/ai/general/1.teleport
# 演出もしておく
function asset:mob/0365.frestchika_v2/ai/general/3.teleport_effect/

# Makerを戻してあげる
execute in overworld run tp 0-0-0-0-0 0.0 0.0 0.0
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#> asset:mob/0365.frestchika_v2/ai/animation/1_0_tackle_pre/tp_around_loop
#
# 埋まり回避のループ処理
#
# @within function
# asset:mob/0365.frestchika_v2/ai/animation/1_0_tackle_pre/tp_around
# asset:mob/0365.frestchika_v2/ai/animation/1_0_tackle_pre/tp_around_loop

# 少し前に進んで判定
tp 0-0-0-0-0 ^ ^ ^0.25 ~ ~
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
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
#> asset:mob/0365.frestchika_v2/ai/animation/1_1_tackle_move/
#
# 二連突進 移動
#
# @within function asset:mob/0365.frestchika_v2/ai/animation/

# アニメーション再生
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

# 突進
execute if score @s A5.AnimationTick matches 1..12 run function asset:mob/0365.frestchika_v2/ai/animation/1_1_tackle_move/move

# 演出
execute if score @s A5.AnimationTick matches 1 run playsound minecraft:entity.wither.shoot hostile @a ~ ~ ~ 1 0.7
execute if score @s A5.AnimationTick matches 17 run playsound minecraft:entity.wither.shoot hostile @a ~ ~ ~ 1 0.7

# 向き転換
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

# 突進
execute if score @s A5.AnimationTick matches 17..28 run function asset:mob/0365.frestchika_v2/ai/animation/1_1_tackle_move/move

# 慣性
execute if score @s A5.AnimationTick matches 29 positioned ^ ^ ^0.75 run function asset:mob/0365.frestchika_v2/ai/general/1.teleport
execute if score @s A5.AnimationTick matches 30 positioned ^ ^ ^0.5 run function asset:mob/0365.frestchika_v2/ai/general/1.teleport
execute if score @s A5.AnimationTick matches 31 positioned ^ ^ ^0.4 run function asset:mob/0365.frestchika_v2/ai/general/1.teleport
execute if score @s A5.AnimationTick matches 32 positioned ^ ^ ^0.3 run function asset:mob/0365.frestchika_v2/ai/general/1.teleport
execute if score @s A5.AnimationTick matches 33 positioned ^ ^ ^0.2 run function asset:mob/0365.frestchika_v2/ai/general/1.teleport
execute if score @s A5.AnimationTick matches 34 positioned ^ ^ ^0.1 run function asset:mob/0365.frestchika_v2/ai/general/1.teleport
execute if score @s A5.AnimationTick matches 35 positioned ^ ^ ^0.05 run function asset:mob/0365.frestchika_v2/ai/general/1.teleport
execute if score @s A5.AnimationTick matches 36 positioned ^ ^ ^0.025 run function asset:mob/0365.frestchika_v2/ai/general/1.teleport

# アニメーション終了処理
execute if score @s A5.AnimationTick matches 40 run scoreboard players set @s A5.AnimationTick -1
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#> asset:mob/0365.frestchika_v2/ai/animation/1_1_tackle_move/move
#
# 突進 分岐
#
# @within function asset:mob/0365.frestchika_v2/ai/animation/1_1_tackle_move/

# 自身を前進させる
execute positioned ^ ^ ^1 run function asset:mob/0365.frestchika_v2/ai/general/1.teleport

# 前進した先にプレイヤーがいたらスコアを飛ばす
execute at @s if entity @p[tag=!PlayerShouldInvulnerable,distance=..1.5] run scoreboard players set @s A5.AnimationNum 12
execute at @s if entity @p[tag=!PlayerShouldInvulnerable,distance=..1.5] run scoreboard players set @s A5.AnimationTick 0
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
#> asset:mob/0365.frestchika_v2/ai/animation/1_2_tackle_slash/
#
# 二連突進 斬撃
#
# @within function asset:mob/0365.frestchika_v2/ai/animation/

# アニメーション再生
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

# 演出
execute if score @s A5.AnimationTick matches 1 run playsound item.trident.return hostile @a ~ ~ ~ 1 2
execute if score @s A5.AnimationTick matches 5 run playsound item.trident.return hostile @a ~ ~ ~ 1 2
execute if score @s A5.AnimationTick matches 18 run playsound item.trident.return hostile @a ~ ~ ~ 1 2

# ダメージ
execute if score @s A5.AnimationTick matches 3 run function asset:mob/0365.frestchika_v2/ai/animation/1_2_tackle_slash/damage
execute if score @s A5.AnimationTick matches 8 run function asset:mob/0365.frestchika_v2/ai/animation/1_2_tackle_slash/damage
execute if score @s A5.AnimationTick matches 20 run function asset:mob/0365.frestchika_v2/ai/animation/1_2_tackle_slash/damage2

# アニメーション終了処理
execute if score @s A5.AnimationTick matches 35 run scoreboard players set @s A5.AnimationTick -1
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#> asset:mob/0365.frestchika_v2/ai/animation/1_2_tackle_slash/damage
#
# ダメージ判定
#
# @within function asset:mob/0365.frestchika_v2/ai/animation/1_2_tackle_slash/

# ダメージ設定
# 与えるダメージ
data modify storage lib: Argument.Damage set value 18.0f
# 魔法属性
data modify storage lib: Argument.AttackType set value "Physical"
# 雷属性
data modify storage lib: Argument.ElementType set value "Thunder"
# デスログ
data modify storage lib: Argument.DeathMessage append value '[{"translate": "%1$sは%2$sによって両断されてしまった。","with":[{"selector":"@s"},{"nbt":"Return.AttackerName","storage":"lib:","interpret":true}]}]'
# ダメージ
function lib:damage/modifier
execute positioned ^ ^ ^1.5 as @a[tag=!PlayerShouldInvulnerable,distance=..1.5] at @s run function lib:damage/
# リセット
function lib:damage/reset

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]
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#> asset:mob/0365.frestchika_v2/ai/animation/1_2_tackle_slash/damage2
#
# ダメージ判定(回転斬り)
#
# @within function asset:mob/0365.frestchika_v2/ai/animation/1_2_tackle_slash/

# ダメージ設定
# 与えるダメージ
data modify storage lib: Argument.Damage set value 24.0f
# 魔法属性
data modify storage lib: Argument.AttackType set value "Physical"
# 雷属性
data modify storage lib: Argument.ElementType set value "Thunder"
# デスログ
data modify storage lib: Argument.DeathMessage append value '[{"translate": "%1$sは%2$sによって両断されてしまった。","with":[{"selector":"@s"},{"nbt":"Return.AttackerName","storage":"lib:","interpret":true}]}]'
# ダメージ
function lib:damage/modifier
execute as @a[tag=!PlayerShouldInvulnerable,distance=..3] at @s run function lib:damage/
# リセット
function lib:damage/reset

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]
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#> asset:mob/0365.frestchika_v2/ai/animation/200_0_opening/
#
# オープニングの演出
#
# @within function asset:mob/0365.frestchika_v2/ai/animation/

# アニメーション再生
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

# 溜め音
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

# 雷
execute if score @s A5.AnimationTick matches 33 run playsound entity.lightning_bolt.thunder hostile @a ~ ~ ~ 1 1.2
execute if score @s A5.AnimationTick matches 36 run playsound entity.lightning_bolt.thunder hostile @a ~ ~ ~ 1 1.3
execute if score @s A5.AnimationTick matches 39 run playsound entity.lightning_bolt.thunder hostile @a ~ ~ ~ 1 1.4

# 雷バリバリ演出
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
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
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

# ゼクスサンダー召喚
execute if score @s A5.AnimationTick matches 35 run function asset:mob/0365.frestchika_v2/ai/animation/200_0_opening/4.thunder_summon

# アニメーション終了処理
execute if score @s A5.AnimationTick matches 66 run scoreboard players set @s A5.AnimationTick -1
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#> asset:mob/0365.frestchika_v2/ai/animation/200_0_opening/1.charge_sound_calc
#
# チャージ音(計算処理)
#
# @within function asset:mob/0365.frestchika_v2/ai/animation/200_0_opening/

# スコア調整
scoreboard players operation $A5.Temp A5.AnimationTick = @s A5.AnimationTick
scoreboard players remove $A5.Temp A5.AnimationTick 11
execute store result storage asset:temp A5.Num float 0.05 run scoreboard players operation $A5.Temp A5.AnimationTick += $10 Const

# マクロ起動
function asset:mob/0365.frestchika_v2/ai/animation/200_0_opening/2.charge_sound.m with storage asset:temp A5

# リセット
scoreboard players reset $A5.Temp A5.AnimationTick
data remove storage asset:temp A5
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#> asset:mob/0365.frestchika_v2/ai/animation/200_0_opening/2.charge_sound.m
#
# チャージサウンドのマクロ
#
# @input args
# Num : Sound Pitch
# @within function
# asset:mob/0365.frestchika_v2/ai/animation/200_0_opening/1.charge_sound_calc

$playsound entity.illusioner.prepare_mirror hostile @a[distance=..32] ~ ~ ~ 0.5 $(Num) 0
Loading

0 comments on commit e443dbf

Please sign in to comment.