Skip to content
Open
Show file tree
Hide file tree
Changes from 10 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
3 changes: 3 additions & 0 deletions data/enemy/function/tick.mcfunction
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,9 @@ execute if score $Ticks Count matches 0 run function enemy:one_second
## 忍者
# 居縮
execute if entity @s[scores={Isukumi=1..}] run function skill:act/ninja/isukumi/tick
## 狩人
# ワイルドフレア
execute if entity @s[tag=WildFlareInterval] run function skill:act/hunter/wild_flare/tick_enemy

### Mob自然ダメージ反映
execute if entity @s[nbt=!{AbsorptionAmount:2048f}] run function enemy:damage/natural
Expand Down
1 change: 1 addition & 0 deletions data/main/function/load_once.mcfunction
Original file line number Diff line number Diff line change
Expand Up @@ -140,6 +140,7 @@ scoreboard objectives add BlastSpark dummy {"text":"ブラストスパーク継
scoreboard objectives add Kasap dummy {"text":"ルカナントラップ継続秒数"}
scoreboard objectives add KasapRatio dummy {"text":"ルカナントラップダメージ倍率"}
scoreboard objectives add Decelerate dummy {"text":"ボミオストラップ継続秒数"}
scoreboard objectives add WildFlareInterval dummy {"text":"ワイルドフレアダメージインターバル"}
#白魔導士
scoreboard objectives add HaloBound dummy {"text":"ヘイローバウンド演出カウント"}
#黒魔導士
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#> makeup:skill/act/hunter/wild_flare/act0
#
# ワイルドフレア発動演出
playsound minecraft:entity.blaze.shoot player @a[distance=..16] ~ ~ ~ 1 1
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#> makeup:skill/act/hunter/wild_flare/explode
#
# ワイルドフレア爆発演出
playsound minecraft:entity.generic.explode player @a[distance=..16] ~ ~ ~ 0.5 1
particle minecraft:explosion ~ ~ ~ 0 0 0 0 0 force
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#> makeup:skill/act/hunter/wild_flare/tick
#
# ワイルドフレア毎tick演出
particle minecraft:flame ~ ~ ~ 2 1 2 0.01 1 force @a[tag=ShowParticles]
14 changes: 14 additions & 0 deletions data/skill/function/act/hunter/wild_flare/act0.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#> skill:act/hunter/wild_flare/act0
#
# ワイルドフレア発動

# ダメージ取得
execute if score _ Level matches 1 run data modify storage skill: damage set from storage skill: Data.Hunter[{Name:"ワイルドフレア",Level:1}].Damage
execute if score _ Level matches 2 run data modify storage skill: damage set from storage skill: Data.Hunter[{Name:"ワイルドフレア",Level:2}].Damage
execute if score _ Level matches 3 run data modify storage skill: damage set from storage skill: Data.Hunter[{Name:"ワイルドフレア",Level:3}].Damage

# 矢にデータを保存
execute as @e[distance=..5,type=#minecraft:arrows,tag=!Initialized,sort=nearest,limit=1] run data merge entity @s {PortalCooldown:2,Tags:[WildFlareSeed,CooldownRequired]}
scoreboard players operation @e[distance=..5,type=#minecraft:arrows,tag=!Initialized,sort=nearest,limit=1] Level = _ Level

function makeup:skill/act/hunter/wild_flare/act0
14 changes: 14 additions & 0 deletions data/skill/function/act/hunter/wild_flare/apply.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#> skill:act/hunter/wild_flare/apply
#
# ワイルドフレア ダメージ付与
#
# @within function skill:act/hunter/wild_flare/tick

# スキルダメージをロード
execute if score @s Level matches 1 run data modify storage skill: damage set from storage skill: Data.Hunter[{Name:"ワイルドフレア",Level:1}].Damage
execute if score @s Level matches 2 run data modify storage skill: damage set from storage skill: Data.Hunter[{Name:"ワイルドフレア",Level:2}].Damage
execute if score @s Level matches 3 run data modify storage skill: damage set from storage skill: Data.Hunter[{Name:"ワイルドフレア",Level:3}].Damage

# 対象となる敵側でダメージ処理を実行
data modify storage skill: damage.hit set value 0b
execute positioned ~-1 ~-1 ~-1 as @e[dx=1,dy=1,dz=1,tag=Enemy] at @s run function skill:act/hunter/wild_flare/apply_enemy
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#> skill:act/hunter/wild_flare/apply_enemy
#
# ワイルドフレア ダメージ・インターバル付与

# ダメージ・デバフを付与
function skill:damage/apply/
function effect:enemy_debuff/burn/apply

# インターバル付与
tag @s add WildFlareInterval
scoreboard players set @s WildFlareInterval 20
28 changes: 28 additions & 0 deletions data/skill/function/act/hunter/wild_flare/explode.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#> skill:act/hunter/wild_flare/explode
#
# ワイルドフレア拡散準備

# 方角取得用マーカー召喚
function calc:geometry/tp_00001
# 方角取得用マーカー処理
execute store result score _ Calc run data get entity @s Pos[0] 100
execute store result score _ _ run data get entity @s Motion[0] 100
execute store result entity 0-0-0-0-1 Pos[0] double 0.01 run scoreboard players operation _ Calc -= _ _
execute store result score _ Calc run data get entity @s Pos[1] 100
execute store result score _ _ run data get entity @s Motion[1] 100
execute store result entity 0-0-0-0-1 Pos[1] double 0.01 run scoreboard players operation _ Calc -= _ _
execute store result score _ Calc run data get entity @s Pos[2] 100
execute store result score _ _ run data get entity @s Motion[2] 100
execute store result entity 0-0-0-0-1 Pos[2] double 0.01 run scoreboard players operation _ Calc -= _ _

execute at 0-0-0-0-1 run tp 0-0-0-0-1 ~ ~ ~ facing entity @s

# ワイルドフレア生成
function skill:damage/load
scoreboard players operation _ Level = @s Level
data modify storage skill: Skill.Owner set from entity @s Owner
execute as 0-0-0-0-1 at @s positioned ^ ^ ^2 run function skill:act/hunter/wild_flare/make_flare
data remove storage skill: Skill.Owner

# 演出
function makeup:skill/act/hunter/wild_flare/explode
15 changes: 15 additions & 0 deletions data/skill/function/act/hunter/wild_flare/make_flare.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#> skill:act/hunter/wild_flare/make_flare
#
# ワイルドフレア拡散準備

# ループカウント設定
scoreboard players set _ Count 30

# 矢召喚
function skill:act/hunter/wild_flare/make_flare_loop

# モーション設定
execute as @e[distance=..1.1,tag=WildFlare] at @s run function skill:act/hunter/wild_flare/set_velocity

# マーカー返却
function calc:geometry/return_marker
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#> skill:act/hunter/wild_flare/make_flare_loop
#
# ワイルドフレア拡散準備ループ

# 向きをランダムに決める
function calc:set/random_rotation

# 矢召喚
execute rotated as @s run summon minecraft:arrow ^ ^ ^1 {Tags:[WildFlare,CooldownRequired,Skill,NativeTask,FlyingRequired],PortalCooldown:100,Fire:100s,damage:0.0d}

# カウンタデクリメント
scoreboard players remove _ Count 1

# 条件ループ継続
execute if score _ Count matches 1.. run function skill:act/hunter/wild_flare/make_flare_loop
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#> skill:act/hunter/wild_flare/set_velocity
#
# ワイルドフレアMotion付与

# ダメージをセーブ
function skill:damage/save

data modify entity @s Owner set from storage skill: Skill.Owner
scoreboard players operation @s Level = _ Level
execute facing entity 0-0-0-0-1 feet positioned 0.0 0.0 0.0 positioned ^ ^ ^-1.2 run function calc:throw_projectile/
11 changes: 11 additions & 0 deletions data/skill/function/act/hunter/wild_flare/tick.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#> skill:act/hunter/wild_flare/tick
#
# ワイルドフレアダメージ&演出

# ダメージ付与
execute if entity @s[tag=FlyingRequired] if entity @e[distance=..3,tag=Enemy,tag=!WildFlareInterval] run function skill:act/hunter/wild_flare/apply

# 水中削除
kill @s[nbt={Fire:0s}]

function makeup:skill/act/hunter/wild_flare/tick
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#> skill:act/hunter/wild_flare/tick_enemy
#
# ワイルドフレアインターバル消費

scoreboard players remove @s WildFlareInterval 1
execute if score @s WildFlareInterval matches 1.. run return fail
tag @s remove WildFlareInterval
scoreboard players reset @s WildFlareInterval
2 changes: 2 additions & 0 deletions data/skill/function/native_tick.mcfunction
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@ execute if entity @s[tag=BlastSpark] run function makeup:skill/act/hunter/blast_
execute if entity @s[tag=KasapTrap] run function skill:act/hunter/kasap_trap/tick
# ボミオストラップ
execute if entity @s[tag=DecelerateTrap] run function skill:act/hunter/decelerate_trap/tick
# ワイルドフレア
execute if entity @s[tag=WildFlare] run function skill:act/hunter/wild_flare/tick

## 白魔導士
# ヘイローバウンド
Expand Down
Loading