diff --git a/Asset/data/asset/functions/artifact/1252.fox_candle/give/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1252.fox_candle/give/1.trigger.mcfunction new file mode 100644 index 0000000000..591171ce7e --- /dev/null +++ b/Asset/data/asset/functions/artifact/1252.fox_candle/give/1.trigger.mcfunction @@ -0,0 +1,7 @@ +#> asset:artifact/1252.fox_candle/give/1.trigger +# +# 神器の取得処理の呼び出し時に実行されるfunction +# +# @within tag/function asset:artifact/give + +execute if data storage asset:context {id:1252} run function asset:artifact/1252.fox_candle/give/2.give \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1252.fox_candle/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1252.fox_candle/give/2.give.mcfunction new file mode 100644 index 0000000000..fc064022f7 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1252.fox_candle/give/2.give.mcfunction @@ -0,0 +1,73 @@ +#> asset:artifact/1252.fox_candle/give/2.give +# +# 神器の作成部 ここでID等を定義する +# +# @user +# @within function asset:artifact/1252.fox_candle/give/1.trigger + +# 神器の説明や消費MPなどをここで設定する。 +# 最後にasset:artifact/common/giveを実行することで入手可能。 + +# 神器のID (int) スプレッドシートの値を入れる + data modify storage asset:artifact ID set value 1252 +# 神器のベースアイテム + data modify storage asset:artifact Item set value "minecraft:stick" +# 神器の名前 (TextComponentString) + data modify storage asset:artifact Name set value '{"text":"狐ノ蝋燭","color":"#D9972F"}' +# 神器の説明文 (TextComponentString[]) + data modify storage asset:artifact Lore set value ['{"text":"周囲のランダムな敵3体にダメージを与え、狐火を9秒間付与する","color":"white"}','{"text":"(狐火が付与されていない敵を優先)","color":"white"}','{"text":"妖しい炎の灯る3本の蝋燭","color":"gray"}','{"text":"憑かれた命を糧に静かに揺らめく","color":"gray"}'] +# 消費アイテム ({Item: TextComponent, Count: int, Extra?: TextComponent}) (オプション) + # data modify storage asset:artifact ConsumeItem.Item set value '{"translate":"item.minecraft.stick"}' + # data modify storage asset:artifact ConsumeItem.Count set value 1 + # data modify storage asset:artifact ConsumeItem.Extra set value +# 使用回数 (int) (オプション) + # data modify storage asset:artifact RemainingCount set value +# 神器を発動できるスロット (string) Wikiを参照 + data modify storage asset:artifact Slot set value "offhand" +# 神器のトリガー (string) Wikiを参照 + data modify storage asset:artifact Trigger set value "onDamage" +# 効果が重複可能か否か (boolean) (オプション) + # data modify storage asset:artifact EnableDuplication set value +# 神器の発動条件 (TextComponentString) (オプション) + data modify storage asset:artifact Condition set value '{"text":"累計で最大体力の9%分の被ダメージ"}' +# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.Damage set value "300+60x9" +# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.AttackType set value [Magic] +# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.ElementType set value [Fire] +# 攻撃に関する情報 -防御無視 (boolean) Wikiを参照 (オプション) + # data modify storage asset:artifact AttackInfo.BypassResist set value +# 攻撃に関する情報 -範囲攻撃 (string) Wikiを参照 (オプション) + # data modify storage asset:artifact AttackInfo.IsRangeAttack set value +# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.AttackRange set value 16 +# MP消費量 (int) + data modify storage asset:artifact MPCost set value 50 +# MP必要量 (int) (オプション) + # data modify storage asset:artifact MPRequire set value +# MP回復量 (int) + # data modify storage asset:artifact MPHealWhenHit set value +# 神器のクールダウン (int) (オプション) + data modify storage asset:artifact LocalCooldown set value 100 +# 種別クールダウン ({Type: string, Duration: int}) (オプション) + # data modify storage asset:artifact TypeCooldown.Type set value + # data modify storage asset:artifact TypeCooldown.Duration set value +# 第二種別クールダウン ({Type: string, Duration: int}) (オプション) + # data modify storage asset:artifact SecondaryTypeCooldown.Type set value + # data modify storage asset:artifact SecondaryTypeCooldown.Duration set value +# グローバルクールダウン (int) (オプション) + # data modify storage asset:artifact SpecialCooldown set value +# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション) + data modify storage asset:artifact DisableCooldownMessage set value true +# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション) + data modify storage asset:artifact DisableMPMessage set value true +# 破壊時の音を鳴らさないかどうか (boolean) (オプション) + # data modify storage asset:artifact DisableBreakSound set value +# 扱える神 (string[]) Wikiを参照 + data modify storage asset:artifact CanUsedGod set value ["Urban", "Nyaptov", "Rumor"] +# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション) + # data modify storage asset:artifact CustomNBT set value {} + +# 神器の入手用function + function asset:artifact/common/give diff --git a/Asset/data/asset/functions/artifact/1252.fox_candle/register.mcfunction b/Asset/data/asset/functions/artifact/1252.fox_candle/register.mcfunction new file mode 100644 index 0000000000..945c694e8e --- /dev/null +++ b/Asset/data/asset/functions/artifact/1252.fox_candle/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1252.fox_candle/register +# +# 神器プールへの登録処理 +# +# @within tag/function asset:artifact/register + +data modify storage asset:artifact RarityRegistry[4] append value [1252] +data modify storage asset:artifact RarityRegistryWithColor.Red[4] append value [1252] diff --git a/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/0.load.mcfunction b/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/0.load.mcfunction new file mode 100644 index 0000000000..3956c612f1 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/0.load.mcfunction @@ -0,0 +1,9 @@ +#> asset:artifact/1252.fox_candle/trigger/0.load +# +# 神器に利用するスコアボード等の初期化処理 +# +# @within tag/function asset:artifact/load + +#> 定義類はここに +# @within function asset:artifact/1252.fox_candle/trigger/** + scoreboard objectives add YS.DamagePerSum dummy diff --git a/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/1.trigger.mcfunction new file mode 100644 index 0000000000..743d8d7c45 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/1.trigger.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1252.fox_candle/trigger/1.trigger +# +# 指定したイベントタイミングで実行されるfunction +# +# @within tag/function asset:artifact/** + +# storage asset:idの%slot%に装備している神器のIDが入っているので比較し、~/2.check_condition.mcfunctionを実行する + execute if data storage asset:context id{offhand:1252} run function asset:artifact/1252.fox_candle/trigger/2.check_condition diff --git a/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/2.check_condition.mcfunction b/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/2.check_condition.mcfunction new file mode 100644 index 0000000000..1e40cb7ea6 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/2.check_condition.mcfunction @@ -0,0 +1,45 @@ +#> asset:artifact/1252.fox_candle/trigger/2.check_condition +# +# 神器の発動条件をチェックします +# +# @within function asset:artifact/1252.fox_candle/trigger/1.trigger + +# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く + function asset:artifact/common/check_condition/offhand +# 他にアイテム等確認する場合はここに書く + +#> Private +# @private + #declare score_holder $Damage + #declare score_holder $MaxHealth + +# CanUsedじゃないならreturn + execute if entity @s[tag=!CanUsed] run return fail + +# 死んでるならreturn + execute if entity @s[tag=Death] run tag @s remove CanUsed + execute if entity @s[tag=!CanUsed] run return fail + +# ダメージによる体力減少割合を取得 + function api:modifier/max_health/get + execute store result score $MaxHealth Temporary run data get storage api: Return.MaxHealth 1 + execute store result score $Damage Temporary run data get storage asset:context Damage.Amount 1000 + scoreboard players operation $Damage Temporary /= $MaxHealth Temporary + +# スコアに加算 + scoreboard players operation @s YS.DamagePerSum += $Damage Temporary + +# リセット + scoreboard players reset $Damage Temporary + scoreboard players reset $MaxHealth Temporary + +# 効果範囲内に敵がいないならreturn + execute unless entity @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,distance=..16,limit=1] run tag @s remove CanUsed + execute if entity @s[tag=!CanUsed] run return fail + +# スコアが一定以上でないならreturn + execute unless score @s YS.DamagePerSum matches 90.. run tag @s remove CanUsed + execute if entity @s[tag=!CanUsed] run return fail + +# CanUsedタグをチェックして3.main.mcfunctionを実行する + function asset:artifact/1252.fox_candle/trigger/3.main diff --git a/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/3.main.mcfunction new file mode 100644 index 0000000000..cc69d34fc4 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/3.main.mcfunction @@ -0,0 +1,27 @@ +#> asset:artifact/1252.fox_candle/trigger/3.main +# +# 神器のメイン処理部 +# +# @within function asset:artifact/1252.fox_candle/trigger/2.check_condition + +# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う + function asset:artifact/common/use/offhand + +# ここから先は神器側の効果の処理を書く + +# 最大ターゲット数 + data modify storage asset:temp Temp.Count set value 3 + +# この神器のDoTが付与されていない敵を優先的にターゲッティングする + execute as @e[type=#lib:living_without_player,tag=Enemy,tag=!Uninterferable,distance=..16,sort=random] run function asset:artifact/1252.fox_candle/trigger/target_select/no_debuff + +# まだターゲッティングできるならなんでもいいからターゲットにする + execute unless data storage asset:temp Temp{Count:0} run function asset:artifact/1252.fox_candle/trigger/target_select/m with storage asset:temp Temp + +# ターゲットに対して諸々実行する + function asset:artifact/1252.fox_candle/trigger/attack + +# リセット + data remove storage asset:temp Temp + tag @e[type=#lib:living_without_player,tag=YS.Target,tag=!Uninterferable,distance=..16] remove YS.Target + scoreboard players reset @s YS.DamagePerSum diff --git a/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/_index.d.mcfunction b/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/_index.d.mcfunction new file mode 100644 index 0000000000..9988bbb491 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/_index.d.mcfunction @@ -0,0 +1,6 @@ +#> asset:artifact/1252.fox_candle/trigger/_index.d +# @private + +#> tag +# @within function asset:artifact/1252.fox_candle/trigger/** + #declare tag YS.Target diff --git a/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/attack.mcfunction b/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/attack.mcfunction new file mode 100644 index 0000000000..81ba740249 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/attack.mcfunction @@ -0,0 +1,33 @@ +#> asset:artifact/1252.fox_candle/trigger/attack +# +# +# +# @within function asset:artifact/1252.fox_candle/trigger/3.main + +# 演出 + playsound entity.blaze.shoot player @a ~ ~ ~ 0.8 1.2 0 + playsound block.fire.ambient player @a ~ ~ ~ 1 1.2 0 + playsound block.enchantment_table.use player @a ~ ~ ~ 1 1.2 + execute at @e[type=#lib:living_without_player,tag=YS.Target,distance=..16] positioned ~ ~0.4 ~ run function asset:artifact/1252.fox_candle/trigger/vfx + +# ダメージ + data modify storage api: Argument.Damage set value 300d + data modify storage api: Argument.AttackType set value "Magic" + data modify storage api: Argument.ElementType set value "Fire" + function api:damage/modifier + execute as @e[type=#lib:living_without_player,tag=YS.Target,distance=..16] run function api:damage/ + function api:damage/reset + +# 以下DoT + # 効果時間 + data modify storage api: Argument.Duration set value 180 + # ダメージ + data modify storage api: Argument.FieldOverride.Damage set value 50 + # ダメージ間隔 + data modify storage api: Argument.FieldOverride.Tick.Max set value 20 + +# 付与 + data modify storage api: Argument.ID set value 352 + execute store result storage api: Argument.FieldOverride.AppliedFrom int 1 run scoreboard players get @s UserID + execute as @e[type=#lib:living_without_player,tag=YS.Target,distance=..16] run function api:entity/mob/effect/give + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/target_select/m.mcfunction b/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/target_select/m.mcfunction new file mode 100644 index 0000000000..19eb04864b --- /dev/null +++ b/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/target_select/m.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1252.fox_candle/trigger/target_select/m +# +# 直接Tagを付与する +# +# @within function asset:artifact/1252.fox_candle/trigger/3.main + +# + $tag @e[type=#lib:living_without_player,tag=Enemy,tag=!YS.Target,tag=!Uninterferable,distance=..16,sort=random,limit=$(Count)] add YS.Target diff --git a/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/target_select/no_debuff.mcfunction b/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/target_select/no_debuff.mcfunction new file mode 100644 index 0000000000..fee7f6f503 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/target_select/no_debuff.mcfunction @@ -0,0 +1,16 @@ +#> asset:artifact/1252.fox_candle/trigger/target_select/no_debuff +# +# DoTが付与されてないやつをターゲットとする +# +# @within function asset:artifact/1252.fox_candle/trigger/3.main + +# ターゲットがもう最大数まで見つかっているならreturn + execute if data storage asset:temp Temp{Count:0} run return fail + +# 自身に狐火が付与されているか? + data modify storage api: Argument.ID set value 352 + function api:entity/mob/effect/get/from_id + +# 付与されていなければターゲットとする + execute unless data storage api: Return.Effect run tag @s add YS.Target + execute unless data storage api: Return.Effect store result storage asset:temp Temp.Count int 0.9999999999 run data get storage asset:temp Temp.Count diff --git a/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/vfx.mcfunction b/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/vfx.mcfunction new file mode 100644 index 0000000000..5621b6ee8b --- /dev/null +++ b/Asset/data/asset/functions/artifact/1252.fox_candle/trigger/vfx.mcfunction @@ -0,0 +1,19 @@ +#> asset:artifact/1252.fox_candle/trigger/vfx +# +# なんか蝋燭っぽい演出 +# +# @within function asset:artifact/1252.fox_candle/trigger/attack + +# 思考メモ +# yは0.1上に上げて、オレンジ、白、soul_fireの順でロウソクっぽくする +# オレンジは必須(オレンジ + 白で狐のしっぽの表現) + +# オレンジ + particle dust 1 0.7 0 1.3 ~ ~0.5 ~ 0.02 0.3 0.02 0 15 normal @a +# 白 + particle dust 1 0.965 0.878 1.3 ~ ~1.4 ~ 0.02 0.3 0.02 0 15 normal @a +# 炎 + particle soul_fire_flame ~ ~2.2 ~ 0.02 0.04 0.02 0 5 normal @a + +# playsound + playsound minecraft:entity.fox.bite player @a ~ ~ ~ 1 1 diff --git a/Asset/data/asset/functions/effect/0352.kitsunebi/_/given.mcfunction b/Asset/data/asset/functions/effect/0352.kitsunebi/_/given.mcfunction new file mode 100644 index 0000000000..5ee7f0e38e --- /dev/null +++ b/Asset/data/asset/functions/effect/0352.kitsunebi/_/given.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0352.kitsunebi/_/given +# +# Effectが付与された時に実行されるfunction +# +# @within tag/function asset:effect/given + +execute if data storage asset:context {id:352} run function asset:effect/0352.kitsunebi/given/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0352.kitsunebi/_/re-given.mcfunction b/Asset/data/asset/functions/effect/0352.kitsunebi/_/re-given.mcfunction new file mode 100644 index 0000000000..28b5b45409 --- /dev/null +++ b/Asset/data/asset/functions/effect/0352.kitsunebi/_/re-given.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0352.kitsunebi/_/re-given +# +# Effectが上書きされた時に実行されるfunction +# +# @within tag/function asset:effect/re-given + +execute if data storage asset:context {id:352} run function asset:effect/0352.kitsunebi/re-given/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0352.kitsunebi/_/register.mcfunction b/Asset/data/asset/functions/effect/0352.kitsunebi/_/register.mcfunction new file mode 100644 index 0000000000..c804828638 --- /dev/null +++ b/Asset/data/asset/functions/effect/0352.kitsunebi/_/register.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0352.kitsunebi/_/register +# +# +# +# @within tag/function asset:effect/register + +execute if data storage asset:context {id:352} run function asset:effect/0352.kitsunebi/register \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0352.kitsunebi/_/tick.mcfunction b/Asset/data/asset/functions/effect/0352.kitsunebi/_/tick.mcfunction new file mode 100644 index 0000000000..ac67c42e5d --- /dev/null +++ b/Asset/data/asset/functions/effect/0352.kitsunebi/_/tick.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0352.kitsunebi/_/tick +# +# Effectが発動している間毎tick実行されるfunction +# +# @within tag/function asset:effect/tick + +execute if data storage asset:context {id:352} run function asset:effect/0352.kitsunebi/tick/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0352.kitsunebi/given/.mcfunction b/Asset/data/asset/functions/effect/0352.kitsunebi/given/.mcfunction new file mode 100644 index 0000000000..8641e240ae --- /dev/null +++ b/Asset/data/asset/functions/effect/0352.kitsunebi/given/.mcfunction @@ -0,0 +1,8 @@ +#> asset:effect/0352.kitsunebi/given/ +# +# Effectが付与された時の処理 +# +# @within function asset:effect/0352.kitsunebi/_/given + +# 初期化 + function asset:effect/0352.kitsunebi/init/ diff --git a/Asset/data/asset/functions/effect/0352.kitsunebi/init/.mcfunction b/Asset/data/asset/functions/effect/0352.kitsunebi/init/.mcfunction new file mode 100644 index 0000000000..a7d9da1996 --- /dev/null +++ b/Asset/data/asset/functions/effect/0352.kitsunebi/init/.mcfunction @@ -0,0 +1,10 @@ +#> asset:effect/0352.kitsunebi/init/ +# +# +# +# @within function +# asset:effect/0352.kitsunebi/given/ +# asset:effect/0352.kitsunebi/re-given/ + +# Tickを初期化 + data modify storage asset:context this.Tick._ set from storage asset:context this.Tick.Max diff --git a/Asset/data/asset/functions/effect/0352.kitsunebi/re-given/.mcfunction b/Asset/data/asset/functions/effect/0352.kitsunebi/re-given/.mcfunction new file mode 100644 index 0000000000..8813508641 --- /dev/null +++ b/Asset/data/asset/functions/effect/0352.kitsunebi/re-given/.mcfunction @@ -0,0 +1,8 @@ +#> asset:effect/0352.kitsunebi/re-given/ +# +# Effectが上書きされた時の処理 +# +# @within function asset:effect/0352.kitsunebi/_/re-given + +# 初期化 + function asset:effect/0352.kitsunebi/init/ diff --git a/Asset/data/asset/functions/effect/0352.kitsunebi/register.mcfunction b/Asset/data/asset/functions/effect/0352.kitsunebi/register.mcfunction new file mode 100644 index 0000000000..421a91a24f --- /dev/null +++ b/Asset/data/asset/functions/effect/0352.kitsunebi/register.mcfunction @@ -0,0 +1,42 @@ +#> asset:effect/0352.kitsunebi/register +# +# Effectのデータを指定 +# +# @within function asset:effect/0352.kitsunebi/_/register + +# ExtendsSafe (boolean) (default = false) + # data modify storage asset:effect ExtendsSafe set value true +# ID (int) + data modify storage asset:effect ID set value 352 +# 名前 (TextComponentString) + data modify storage asset:effect Name set value '{"text":"狐火","color":"#D9972F"}' +# 説明文 (TextComponentString[]) + data modify storage asset:effect Description set value ['{"text":"継続的に魔法火属性ダメージを受ける"}'] +# 効果時間 (int) (default = API || error) + # data modify storage asset:effect Duration set value +# スタック (int) (default = API || 1) + # data modify storage asset:effect Stack set value +# 効果時間の操作方法 (default = API || "replace") + # data modify storage asset:effect DurationOperation set value +# スタックの操作方法 (default = API || "replace") + data modify storage asset:effect StackOperation set value 1 +# 最大効果時間 (int) (default = 2147483647) + # data modify storage asset:effect MaxDuration set value +# 最大スタック (int) (default = 2147483647) + # data modify storage asset:effect MaxStack set value +# 悪い効果か否か (boolean) + data modify storage asset:effect IsBadEffect set value true +# 死亡時のエフェクトの処理 (default = "remove") + # data modify storage asset:effect ProcessOnDied set value +# 消すのに必要なレベル (int) (default = 1) + data modify storage asset:effect RequireClearLv set value 3 +# エフェクトをUIに表示するか (boolean) (default = true) + # data modify storage asset:effect Visible set value +# エフェクトのスタックををUIに表示するか (boolean) (default = true) + data modify storage asset:effect StackVisible set value false + +# フィールド + data modify storage asset:effect Field.Tick._ set value 0 + data modify storage asset:effect Field.Tick.Max set value 20 + data modify storage asset:effect Field.Damage set value 1 + data modify storage asset:effect Field.UserID set value -1 diff --git a/Asset/data/asset/functions/effect/0352.kitsunebi/tick/.mcfunction b/Asset/data/asset/functions/effect/0352.kitsunebi/tick/.mcfunction new file mode 100644 index 0000000000..e9cea7d944 --- /dev/null +++ b/Asset/data/asset/functions/effect/0352.kitsunebi/tick/.mcfunction @@ -0,0 +1,11 @@ +#> asset:effect/0352.kitsunebi/tick/ +# +# Effectのtick処理 +# +# @within function asset:effect/0352.kitsunebi/_/tick + +# デクリメント + execute store result storage asset:context this.Tick._ int 0.9999999999 run data get storage asset:context this.Tick._ +# 1秒毎にダメージ + execute if data storage asset:context this.Tick{_:0} run function asset:effect/0352.kitsunebi/tick/deal_damage + execute if data storage asset:context this.Tick{_:0} run data modify storage asset:context this.Tick._ set from storage asset:context this.Tick.Max diff --git a/Asset/data/asset/functions/effect/0352.kitsunebi/tick/deal_damage.mcfunction b/Asset/data/asset/functions/effect/0352.kitsunebi/tick/deal_damage.mcfunction new file mode 100644 index 0000000000..022a2fce78 --- /dev/null +++ b/Asset/data/asset/functions/effect/0352.kitsunebi/tick/deal_damage.mcfunction @@ -0,0 +1,28 @@ +#> asset:effect/0352.kitsunebi/tick/deal_damage +# +# +# +# @within function asset:effect/0352.kitsunebi/tick/ + +#> Private +# @private + #declare score_holder $AppliedFrom + +# vfx + particle soul_fire_flame ~ ~1.2 ~ 0.4 0.4 0.4 0 9 normal @a + +# playsound + playsound entity.blaze.shoot hostile @a ~ ~ ~ 0.5 1.4 + playsound entity.fox.bite hostile @a ~ ~ ~ 1 1 + +# ダメージを与える + execute store result score $AppliedFrom Temporary run data get storage asset:context this.AppliedFrom + data modify storage api: Argument.Damage set from storage asset:context this.Damage + data modify storage api: Argument.AttackType set value "Magic" + data modify storage api: Argument.ElementType set value "Fire" + data modify storage api: Argument.ApplyTrigger set value false + execute as @a if score @s UserID = $AppliedFrom Temporary run function api:damage/modifier + function api:damage/ + function api:damage/reset +# リセット + scoreboard players reset $AppliedFrom Temporary diff --git a/Asset/data/asset/tags/functions/artifact/damage.json b/Asset/data/asset/tags/functions/artifact/damage.json index 09e345b1fa..380f200051 100644 --- a/Asset/data/asset/tags/functions/artifact/damage.json +++ b/Asset/data/asset/tags/functions/artifact/damage.json @@ -1,5 +1,6 @@ { "values": [ + "asset:artifact/1252.fox_candle/trigger/1.trigger", "asset:artifact/0566.great_sage_helmet/damage/1.trigger", "asset:artifact/1138.over_pulse_bodyarmor/damage/1.trigger", "asset:artifact/1056.one_drop_of_life/trigger/1.trigger", diff --git a/Asset/data/asset/tags/functions/artifact/give.json b/Asset/data/asset/tags/functions/artifact/give.json index 6d62d7b380..b80335e31b 100644 --- a/Asset/data/asset/tags/functions/artifact/give.json +++ b/Asset/data/asset/tags/functions/artifact/give.json @@ -1,5 +1,6 @@ { "values": [ + "asset:artifact/1252.fox_candle/give/1.trigger", "asset:artifact/1144.cradle_of_azure_moon/give/1.trigger", "asset:artifact/1317.oblivious_feather/give/1.trigger", "asset:artifact/1324.balance_star/give/1.trigger", @@ -520,4 +521,4 @@ "asset:artifact/0735.collision_plate/give/1.trigger", "asset:artifact/0745.blade_of_whirlwind/give/1.trigger" ] -} +} \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/artifact/load.json b/Asset/data/asset/tags/functions/artifact/load.json index ad77fe0f77..a482e366e0 100644 --- a/Asset/data/asset/tags/functions/artifact/load.json +++ b/Asset/data/asset/tags/functions/artifact/load.json @@ -1,5 +1,6 @@ { "values": [ + "asset:artifact/1252.fox_candle/trigger/0.load", "asset:artifact/1220.sacred_hardener/trigger/0.load", "asset:artifact/1269.apocalypse/trigger/0.load", "asset:artifact/1061.hekireki/trigger/0.load", @@ -54,4 +55,4 @@ "asset:artifact/0270.angel_ray_lv.10/trigger/0.load", "asset:artifact/0431.weather_lock_cane/trigger/0.load" ] -} +} \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/artifact/register.json b/Asset/data/asset/tags/functions/artifact/register.json index cbb226dca8..7956e3bee6 100644 --- a/Asset/data/asset/tags/functions/artifact/register.json +++ b/Asset/data/asset/tags/functions/artifact/register.json @@ -1,5 +1,6 @@ { "values": [ + "asset:artifact/1252.fox_candle/register", "asset:artifact/1144.cradle_of_azure_moon/register", "asset:artifact/1317.oblivious_feather/register", "asset:artifact/1324.balance_star/register", @@ -298,4 +299,4 @@ "asset:artifact/1027.fire_of_rebirth/register", "asset:artifact/1111.rod_o_redeem/register" ] -} +} \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/effect/given.json b/Asset/data/asset/tags/functions/effect/given.json index c20c6c5587..6fe406fc20 100644 --- a/Asset/data/asset/tags/functions/effect/given.json +++ b/Asset/data/asset/tags/functions/effect/given.json @@ -1,5 +1,6 @@ { "values": [ + "asset:effect/0352.kitsunebi/_/given", "asset:effect/0315.charge_of_aurora_scythe/_/given", "asset:effect/0621.loyalty_shield/_/given", "asset:effect/0653.absolute_drive/_/given", diff --git a/Asset/data/asset/tags/functions/effect/re-given.json b/Asset/data/asset/tags/functions/effect/re-given.json index baf0379fc2..723b66ccb7 100644 --- a/Asset/data/asset/tags/functions/effect/re-given.json +++ b/Asset/data/asset/tags/functions/effect/re-given.json @@ -1,5 +1,6 @@ { "values": [ + "asset:effect/0352.kitsunebi/_/re-given", "asset:effect/0029.poison/_/re-given", "asset:effect/0030.wither/_/re-given", "asset:effect/0621.loyalty_shield/_/re-given", diff --git a/Asset/data/asset/tags/functions/effect/register.json b/Asset/data/asset/tags/functions/effect/register.json index 2df8839cf1..7c080d9053 100644 --- a/Asset/data/asset/tags/functions/effect/register.json +++ b/Asset/data/asset/tags/functions/effect/register.json @@ -1,5 +1,6 @@ { "values": [ + "asset:effect/0352.kitsunebi/_/register", "asset:effect/0025.levitation/_/register", "asset:effect/0247.great_demon_armor/_/register", "asset:effect/0246.flame_devil_armor/_/register", @@ -167,4 +168,4 @@ "asset:effect/0007.defense_base_debuff/_/register", "asset:effect/0258.spirit_melody/_/register" ] -} +} \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/effect/tick.json b/Asset/data/asset/tags/functions/effect/tick.json index 8a5fbd5389..1e8b4bdbb5 100644 --- a/Asset/data/asset/tags/functions/effect/tick.json +++ b/Asset/data/asset/tags/functions/effect/tick.json @@ -1,5 +1,6 @@ { "values": [ + "asset:effect/0352.kitsunebi/_/tick", "asset:effect/0025.levitation/_/tick", "asset:effect/0244.aurora_armor/_/tick", "asset:effect/0243.oblivious_snow/_/tick",