diff --git a/Asset/data/asset/functions/artifact/0515.time_medicine/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/0515.time_medicine/give/2.give.mcfunction index 9ba6138ff9..1c8e735c2a 100644 --- a/Asset/data/asset/functions/artifact/0515.time_medicine/give/2.give.mcfunction +++ b/Asset/data/asset/functions/artifact/0515.time_medicine/give/2.give.mcfunction @@ -13,9 +13,9 @@ # 神器のベースアイテム data modify storage asset:artifact Item set value "minecraft:potion" # 神器の名前 (TextComponentString) - data modify storage asset:artifact Name set value '[{"text":"時刻みの薬","color":"white"}]' + data modify storage asset:artifact Name set value '[{"text":"時","color":"#ffea96"},{"text":"刻","color":"#d6c88b"},{"text":"み","color":"#9cadad"},{"text":"の","color":"#86a9ce"},{"text":"薬","color":"#467bb5"}]' # 神器の説明文 (TextComponentString[]) - data modify storage asset:artifact Lore set value ['[{"text":"時間を封じ込めた薬"}]','[{"text":"朝と夜で効果が違う"}]','[{"text":"朝:火炎耐性、移動速度、採掘速度上昇","color":"yellow"}]','[{"text":"夜:低速落下、跳躍、暗視","color":"yellow"}]'] + data modify storage asset:artifact Lore set value ['{"text":"時間を封じ込めた薬"}','{"text":"60秒間、朝と夜で異なる効果を得る"}','{"translate":"-%1$s朝:%2$s、%3$s","color":"white","with":[{"text":"\\u0002","font":"space"},{"text":"物理耐性+10%","color":"green"},{"text":"与回復量+10%","color":"green"}]}','{"translate":"-%1$s夜:%2$s、%3$s","color":"white","with":[{"text":"\\u0002","font":"space"},{"text":"魔法耐性+10%","color":"green"},{"text":"MP回復量+10%","color":"green"}]}'] # 消費アイテム ({Item: TextComponent, Count: int, Extra?: TextComponent}) (オプション) # data modify storage asset:artifact ConsumeItem.Item set value # data modify storage asset:artifact ConsumeItem.Count set value diff --git a/Asset/data/asset/functions/artifact/0515.time_medicine/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/0515.time_medicine/trigger/3.main.mcfunction index b825bb16ca..8c8145907c 100644 --- a/Asset/data/asset/functions/artifact/0515.time_medicine/trigger/3.main.mcfunction +++ b/Asset/data/asset/functions/artifact/0515.time_medicine/trigger/3.main.mcfunction @@ -8,7 +8,10 @@ function asset:artifact/common/use/auto # ここから先は神器側の効果の処理を書く -# 朝 - execute if predicate lib:is_day run function asset:artifact/0515.time_medicine/trigger/day -# 夜 - execute if predicate lib:is_night run function asset:artifact/0515.time_medicine/trigger/night + +# 調整班向けメモ +# エンドでは朝と夜の両方のバフが付与されることを忘れないように + +# 朝と夜で異なるバフを付与 + execute if predicate lib:is_day run function asset:artifact/0515.time_medicine/trigger/effect.m {ID:357} + execute if predicate lib:is_night run function asset:artifact/0515.time_medicine/trigger/effect.m {ID:358} diff --git a/Asset/data/asset/functions/artifact/0515.time_medicine/trigger/day.mcfunction b/Asset/data/asset/functions/artifact/0515.time_medicine/trigger/day.mcfunction deleted file mode 100644 index eed9f6a7b4..0000000000 --- a/Asset/data/asset/functions/artifact/0515.time_medicine/trigger/day.mcfunction +++ /dev/null @@ -1,10 +0,0 @@ -#> asset:artifact/0515.time_medicine/trigger/day -# -# -# -# @within function asset:artifact/0515.time_medicine/trigger/3.main - -# エフェクト - effect give @s fire_resistance 120 0 - effect give @s speed 120 1 - effect give @s haste 120 1 \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/0515.time_medicine/trigger/effect.m.mcfunction b/Asset/data/asset/functions/artifact/0515.time_medicine/trigger/effect.m.mcfunction new file mode 100644 index 0000000000..ae2d0403ee --- /dev/null +++ b/Asset/data/asset/functions/artifact/0515.time_medicine/trigger/effect.m.mcfunction @@ -0,0 +1,23 @@ +#> asset:artifact/0515.time_medicine/trigger/effect.m +# +# +# +# @within function asset:artifact/0515.time_medicine/trigger/3.main + +# 効果時間 + data modify storage api: Argument.Duration set value 1200 + +# 補正量 + data modify storage api: Argument.FieldOverride.PhysicalDefense set value 0.1 + data modify storage api: Argument.FieldOverride.Heal set value 0.1 + + data modify storage api: Argument.FieldOverride.MagicDefense set value 0.1 + data modify storage api: Argument.FieldOverride.MPHeal set value 0.1 + +# 今エンドにいるならエンド判定を設定 + execute if predicate lib:dimension/is_end run data modify storage api: Argument.FieldOverride.InTheEnd set value true + +# エフェクト + $data modify storage api: Argument.ID set value $(ID) + function api:entity/mob/effect/give + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/artifact/0515.time_medicine/trigger/night.mcfunction b/Asset/data/asset/functions/artifact/0515.time_medicine/trigger/night.mcfunction deleted file mode 100644 index 38cc730013..0000000000 --- a/Asset/data/asset/functions/artifact/0515.time_medicine/trigger/night.mcfunction +++ /dev/null @@ -1,10 +0,0 @@ -#> asset:artifact/0515.time_medicine/trigger/night -# -# -# -# @within function asset:artifact/0515.time_medicine/trigger/3.main - -# エフェクト - effect give @s night_vision 120 0 - effect give @s slow_falling 120 0 - effect give @s jump_boost 120 2 \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0357.time_ticker_morning/_/end.mcfunction b/Asset/data/asset/functions/effect/0357.time_ticker_morning/_/end.mcfunction new file mode 100644 index 0000000000..31f28da741 --- /dev/null +++ b/Asset/data/asset/functions/effect/0357.time_ticker_morning/_/end.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0357.time_ticker_morning/_/end +# +# Effectの効果の終了時に実行されるfunction +# +# @within tag/function asset:effect/end + +execute if data storage asset:context {id:357} run function asset:effect/0357.time_ticker_morning/end/ diff --git a/Asset/data/asset/functions/effect/0357.time_ticker_morning/_/given.mcfunction b/Asset/data/asset/functions/effect/0357.time_ticker_morning/_/given.mcfunction new file mode 100644 index 0000000000..a750e964d7 --- /dev/null +++ b/Asset/data/asset/functions/effect/0357.time_ticker_morning/_/given.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0357.time_ticker_morning/_/given +# +# Effectが付与された時に実行されるfunction +# +# @within tag/function asset:effect/given + +execute if data storage asset:context {id:357} run function asset:effect/0357.time_ticker_morning/given/ diff --git a/Asset/data/asset/functions/effect/0357.time_ticker_morning/_/register.mcfunction b/Asset/data/asset/functions/effect/0357.time_ticker_morning/_/register.mcfunction new file mode 100644 index 0000000000..9cb55ae185 --- /dev/null +++ b/Asset/data/asset/functions/effect/0357.time_ticker_morning/_/register.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0357.time_ticker_morning/_/register +# +# +# +# @within tag/function asset:effect/register + +execute if data storage asset:context {id:357} run function asset:effect/0357.time_ticker_morning/register diff --git a/Asset/data/asset/functions/effect/0357.time_ticker_morning/_/remove.mcfunction b/Asset/data/asset/functions/effect/0357.time_ticker_morning/_/remove.mcfunction new file mode 100644 index 0000000000..f4b12c4759 --- /dev/null +++ b/Asset/data/asset/functions/effect/0357.time_ticker_morning/_/remove.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0357.time_ticker_morning/_/remove +# +# Effectが神器や牛乳によって削除された時に実行されるfunction +# +# @within tag/function asset:effect/remove + +execute if data storage asset:context {id:357} run function asset:effect/0357.time_ticker_morning/remove/ diff --git a/Asset/data/asset/functions/effect/0357.time_ticker_morning/_/tick.mcfunction b/Asset/data/asset/functions/effect/0357.time_ticker_morning/_/tick.mcfunction new file mode 100644 index 0000000000..8309a3d7c9 --- /dev/null +++ b/Asset/data/asset/functions/effect/0357.time_ticker_morning/_/tick.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0357.time_ticker_morning/_/tick +# +# Effectが発動している間毎tick実行されるfunction +# +# @within tag/function asset:effect/tick + +execute if data storage asset:context {id:357} run function asset:effect/0357.time_ticker_morning/tick/ diff --git a/Asset/data/asset/functions/effect/0357.time_ticker_morning/end/.mcfunction b/Asset/data/asset/functions/effect/0357.time_ticker_morning/end/.mcfunction new file mode 100644 index 0000000000..d089d124e0 --- /dev/null +++ b/Asset/data/asset/functions/effect/0357.time_ticker_morning/end/.mcfunction @@ -0,0 +1,8 @@ +#> asset:effect/0357.time_ticker_morning/end/ +# +# Effectの効果が切れた時の処理 +# +# @within function asset:effect/0357.time_ticker_morning/_/end + +# 削除 + function asset:effect/0357.time_ticker_morning/modifier/remove diff --git a/Asset/data/asset/functions/effect/0357.time_ticker_morning/given/.mcfunction b/Asset/data/asset/functions/effect/0357.time_ticker_morning/given/.mcfunction new file mode 100644 index 0000000000..2362bcfdbe --- /dev/null +++ b/Asset/data/asset/functions/effect/0357.time_ticker_morning/given/.mcfunction @@ -0,0 +1,8 @@ +#> asset:effect/0357.time_ticker_morning/given/ +# +# Effectが付与された時の処理 +# +# @within function asset:effect/0357.time_ticker_morning/_/given + +# 付与 + function asset:effect/0357.time_ticker_morning/modifier/add diff --git a/Asset/data/asset/functions/effect/0357.time_ticker_morning/modifier/add.mcfunction b/Asset/data/asset/functions/effect/0357.time_ticker_morning/modifier/add.mcfunction new file mode 100644 index 0000000000..badcf124f4 --- /dev/null +++ b/Asset/data/asset/functions/effect/0357.time_ticker_morning/modifier/add.mcfunction @@ -0,0 +1,17 @@ +#> asset:effect/0357.time_ticker_morning/modifier/add +# +# +# +# @within function asset:effect/0357.time_ticker_morning/given/ + +# 物理耐性 + data modify storage api: Argument.UUID set from storage asset:context this.UUID + data modify storage api: Argument.Amount set from storage asset:context this.Amount.PhysicalDefense + data modify storage api: Argument.Operation set value "multiply" + function api:modifier/defense/physical/add + +# 与回復量 + data modify storage api: Argument.UUID set from storage asset:context this.UUID + data modify storage api: Argument.Amount set from storage asset:context this.Amount.Heal + data modify storage api: Argument.Operation set value "multiply" + function api:modifier/heal/add diff --git a/Asset/data/asset/functions/effect/0357.time_ticker_morning/modifier/remove.mcfunction b/Asset/data/asset/functions/effect/0357.time_ticker_morning/modifier/remove.mcfunction new file mode 100644 index 0000000000..774f08c60a --- /dev/null +++ b/Asset/data/asset/functions/effect/0357.time_ticker_morning/modifier/remove.mcfunction @@ -0,0 +1,15 @@ +#> asset:effect/0357.time_ticker_morning/modifier/remove +# +# +# +# @within function +# asset:effect/0357.time_ticker_morning/end/ +# asset:effect/0357.time_ticker_morning/remove/ + +# 物理耐性 + data modify storage api: Argument.UUID set from storage asset:context this.UUID + function api:modifier/defense/physical/remove + +# 与回復量 + data modify storage api: Argument.UUID set from storage asset:context this.UUID + function api:modifier/heal/remove diff --git a/Asset/data/asset/functions/effect/0357.time_ticker_morning/register.mcfunction b/Asset/data/asset/functions/effect/0357.time_ticker_morning/register.mcfunction new file mode 100644 index 0000000000..540600239f --- /dev/null +++ b/Asset/data/asset/functions/effect/0357.time_ticker_morning/register.mcfunction @@ -0,0 +1,48 @@ +#> asset:effect/0357.time_ticker_morning/register +# +# Effectのデータを指定 +# +# @within function asset:effect/0357.time_ticker_morning/_/register + +# ExtendsSafe (boolean) (default = false) + # data modify storage asset:effect ExtendsSafe set value true +# ID (int) + data modify storage asset:effect ID set value 357 +# 名前 (TextComponentString) + data modify storage asset:effect Name set value '{"text":"時刻み・白昼","color":"#ffea96"}' +# 説明文 (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 +# 最大効果時間 (int) (default = 2147483647) + # data modify storage asset:effect MaxDuration set value +# 最大スタック (int) (default = 2147483647) + data modify storage asset:effect MaxStack set value 1 +# 悪い効果か否か (boolean) + data modify storage asset:effect IsBadEffect set value false +# 死亡時のエフェクトの処理 (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.UUID set value [I;1,3,357,0] + data modify storage asset:effect Field.Amount.PhysicalDefense set value 0.1 + data modify storage asset:effect Field.Amount.Heal set value 0.1 + data modify storage asset:effect Field.Amount.MagicDefense set value 0.1 + data modify storage asset:effect Field.Amount.MPHeal set value 0.1 + +# エンド判定 + data modify storage asset:effect Field.InTheEnd set value false diff --git a/Asset/data/asset/functions/effect/0357.time_ticker_morning/remove/.mcfunction b/Asset/data/asset/functions/effect/0357.time_ticker_morning/remove/.mcfunction new file mode 100644 index 0000000000..5f50f6ddda --- /dev/null +++ b/Asset/data/asset/functions/effect/0357.time_ticker_morning/remove/.mcfunction @@ -0,0 +1,8 @@ +#> asset:effect/0357.time_ticker_morning/remove/ +# +# Effectが削除された時の処理 +# +# @within function asset:effect/0357.time_ticker_morning/_/remove + +# 削除 + function asset:effect/0357.time_ticker_morning/modifier/remove diff --git a/Asset/data/asset/functions/effect/0357.time_ticker_morning/tick/.mcfunction b/Asset/data/asset/functions/effect/0357.time_ticker_morning/tick/.mcfunction new file mode 100644 index 0000000000..9ecab718d9 --- /dev/null +++ b/Asset/data/asset/functions/effect/0357.time_ticker_morning/tick/.mcfunction @@ -0,0 +1,17 @@ +#> asset:effect/0357.time_ticker_morning/tick/ +# +# Effectのtick処理 +# +# @within function asset:effect/0357.time_ticker_morning/_/tick + +# 夜になったら効果切り替え(エンド除く) +# 1tick前のディメンションがエンドの場合は付与せずに解除だけ行う + execute if predicate lib:is_night unless predicate lib:dimension/is_end if data storage asset:context this{InTheEnd:false} run function asset:effect/0357.time_ticker_morning/tick/night + execute if predicate lib:is_night unless predicate lib:dimension/is_end run data modify storage asset:context Duration set value 0 + +# 今がエンド && 前tickにエンドにいない なら夜バフを付与 + execute if predicate lib:dimension/is_end if data storage asset:context this{InTheEnd:false} run function asset:effect/0357.time_ticker_morning/tick/night + execute if predicate lib:dimension/is_end if data storage asset:context this{InTheEnd:false} run data modify storage asset:context this.InTheEnd set value true + +# エンドにいないならエンド判定をfalseにしておく + execute unless predicate lib:dimension/is_end if data storage asset:context this{InTheEnd:true} run data modify storage asset:context this.InTheEnd set value false diff --git a/Asset/data/asset/functions/effect/0357.time_ticker_morning/tick/night.mcfunction b/Asset/data/asset/functions/effect/0357.time_ticker_morning/tick/night.mcfunction new file mode 100644 index 0000000000..dbfaeb3586 --- /dev/null +++ b/Asset/data/asset/functions/effect/0357.time_ticker_morning/tick/night.mcfunction @@ -0,0 +1,13 @@ +#> asset:effect/0357.time_ticker_morning/tick/night +# +# +# +# @within function asset:effect/0357.time_ticker_morning/tick/ + +# 効果時間とフィールドを引き継いで夜バフを付与 + data modify storage api: Argument.ID set value 358 + execute store result storage api: Argument.Duration int 0.9999999999 run data get storage asset:context Duration + data modify storage api: Argument.FieldOverride set from storage asset:context this + execute if predicate lib:dimension/is_end run data modify storage api: Argument.FieldOverride.InTheEnd set value true + function api:entity/mob/effect/give + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/effect/0358.time_ticker_night/_/end.mcfunction b/Asset/data/asset/functions/effect/0358.time_ticker_night/_/end.mcfunction new file mode 100644 index 0000000000..7cfb02f1b5 --- /dev/null +++ b/Asset/data/asset/functions/effect/0358.time_ticker_night/_/end.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0358.time_ticker_night/_/end +# +# Effectの効果の終了時に実行されるfunction +# +# @within tag/function asset:effect/end + +execute if data storage asset:context {id:358} run function asset:effect/0358.time_ticker_night/end/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0358.time_ticker_night/_/given.mcfunction b/Asset/data/asset/functions/effect/0358.time_ticker_night/_/given.mcfunction new file mode 100644 index 0000000000..cbfc4d7f9a --- /dev/null +++ b/Asset/data/asset/functions/effect/0358.time_ticker_night/_/given.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0358.time_ticker_night/_/given +# +# Effectが付与された時に実行されるfunction +# +# @within tag/function asset:effect/given + +execute if data storage asset:context {id:358} run function asset:effect/0358.time_ticker_night/given/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0358.time_ticker_night/_/register.mcfunction b/Asset/data/asset/functions/effect/0358.time_ticker_night/_/register.mcfunction new file mode 100644 index 0000000000..404cd78655 --- /dev/null +++ b/Asset/data/asset/functions/effect/0358.time_ticker_night/_/register.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0358.time_ticker_night/_/register +# +# +# +# @within tag/function asset:effect/register + +execute if data storage asset:context {id:358} run function asset:effect/0358.time_ticker_night/register \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0358.time_ticker_night/_/remove.mcfunction b/Asset/data/asset/functions/effect/0358.time_ticker_night/_/remove.mcfunction new file mode 100644 index 0000000000..976291587f --- /dev/null +++ b/Asset/data/asset/functions/effect/0358.time_ticker_night/_/remove.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0358.time_ticker_night/_/remove +# +# Effectが神器や牛乳によって削除された時に実行されるfunction +# +# @within tag/function asset:effect/remove + +execute if data storage asset:context {id:358} run function asset:effect/0358.time_ticker_night/remove/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0358.time_ticker_night/_/tick.mcfunction b/Asset/data/asset/functions/effect/0358.time_ticker_night/_/tick.mcfunction new file mode 100644 index 0000000000..53f0b678dd --- /dev/null +++ b/Asset/data/asset/functions/effect/0358.time_ticker_night/_/tick.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0358.time_ticker_night/_/tick +# +# Effectが発動している間毎tick実行されるfunction +# +# @within tag/function asset:effect/tick + +execute if data storage asset:context {id:358} run function asset:effect/0358.time_ticker_night/tick/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0358.time_ticker_night/end/.mcfunction b/Asset/data/asset/functions/effect/0358.time_ticker_night/end/.mcfunction new file mode 100644 index 0000000000..b6dd753013 --- /dev/null +++ b/Asset/data/asset/functions/effect/0358.time_ticker_night/end/.mcfunction @@ -0,0 +1,8 @@ +#> asset:effect/0358.time_ticker_night/end/ +# +# Effectの効果が切れた時の処理 +# +# @within function asset:effect/0358.time_ticker_night/_/end + +# 削除 + function asset:effect/0358.time_ticker_night/modifier/remove diff --git a/Asset/data/asset/functions/effect/0358.time_ticker_night/given/.mcfunction b/Asset/data/asset/functions/effect/0358.time_ticker_night/given/.mcfunction new file mode 100644 index 0000000000..7eb2e35f09 --- /dev/null +++ b/Asset/data/asset/functions/effect/0358.time_ticker_night/given/.mcfunction @@ -0,0 +1,8 @@ +#> asset:effect/0358.time_ticker_night/given/ +# +# Effectが付与された時の処理 +# +# @within function asset:effect/0358.time_ticker_night/_/given + +# 付与 + function asset:effect/0358.time_ticker_night/modifier/add diff --git a/Asset/data/asset/functions/effect/0358.time_ticker_night/modifier/add.mcfunction b/Asset/data/asset/functions/effect/0358.time_ticker_night/modifier/add.mcfunction new file mode 100644 index 0000000000..b69e9dad70 --- /dev/null +++ b/Asset/data/asset/functions/effect/0358.time_ticker_night/modifier/add.mcfunction @@ -0,0 +1,17 @@ +#> asset:effect/0358.time_ticker_night/modifier/add +# +# +# +# @within function asset:effect/0358.time_ticker_night/given/ + +# 魔法耐性 + data modify storage api: Argument.UUID set from storage asset:context this.UUID + data modify storage api: Argument.Amount set from storage asset:context this.Amount.MagicDefense + data modify storage api: Argument.Operation set value "multiply" + function api:modifier/defense/magic/add + +# MP回復量 + data modify storage api: Argument.UUID set from storage asset:context this.UUID + data modify storage api: Argument.Amount set from storage asset:context this.Amount.MPHeal + data modify storage api: Argument.Operation set value "multiply" + function api:modifier/mp_heal/add diff --git a/Asset/data/asset/functions/effect/0358.time_ticker_night/modifier/remove.mcfunction b/Asset/data/asset/functions/effect/0358.time_ticker_night/modifier/remove.mcfunction new file mode 100644 index 0000000000..0dd1956e91 --- /dev/null +++ b/Asset/data/asset/functions/effect/0358.time_ticker_night/modifier/remove.mcfunction @@ -0,0 +1,15 @@ +#> asset:effect/0358.time_ticker_night/modifier/remove +# +# +# +# @within function +# asset:effect/0358.time_ticker_night/end/ +# asset:effect/0358.time_ticker_night/remove/ + +# 魔法耐性 + data modify storage api: Argument.UUID set from storage asset:context this.UUID + function api:modifier/defense/magic/remove + +# MP回復量 + data modify storage api: Argument.UUID set from storage asset:context this.UUID + function api:modifier/mp_heal/remove diff --git a/Asset/data/asset/functions/effect/0358.time_ticker_night/register.mcfunction b/Asset/data/asset/functions/effect/0358.time_ticker_night/register.mcfunction new file mode 100644 index 0000000000..ee04afde0e --- /dev/null +++ b/Asset/data/asset/functions/effect/0358.time_ticker_night/register.mcfunction @@ -0,0 +1,48 @@ +#> asset:effect/0358.time_ticker_night/register +# +# Effectのデータを指定 +# +# @within function asset:effect/0358.time_ticker_night/_/register + +# ExtendsSafe (boolean) (default = false) + # data modify storage asset:effect ExtendsSafe set value true +# ID (int) + data modify storage asset:effect ID set value 358 +# 名前 (TextComponentString) + data modify storage asset:effect Name set value '{"text":"時刻み・月夜","color":"#467bb5"}' +# 説明文 (TextComponentString[]) + data modify storage asset:effect Description set value ['{"text":"魔法耐性とMP回復量が上昇する"}'] +# 効果時間 (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 +# 最大効果時間 (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 false +# 死亡時のエフェクトの処理 (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.UUID set value [I;1,3,358,0] + data modify storage asset:effect Field.Amount.PhysicalDefense set value 0.1 + data modify storage asset:effect Field.Amount.Heal set value 0.1 + data modify storage asset:effect Field.Amount.MagicDefense set value 0.1 + data modify storage asset:effect Field.Amount.MPHeal set value 0.1 + +# エンド判定 + data modify storage asset:effect Field.InTheEnd set value false diff --git a/Asset/data/asset/functions/effect/0358.time_ticker_night/remove/.mcfunction b/Asset/data/asset/functions/effect/0358.time_ticker_night/remove/.mcfunction new file mode 100644 index 0000000000..ac3866439f --- /dev/null +++ b/Asset/data/asset/functions/effect/0358.time_ticker_night/remove/.mcfunction @@ -0,0 +1,8 @@ +#> asset:effect/0358.time_ticker_night/remove/ +# +# Effectが削除された時の処理 +# +# @within function asset:effect/0358.time_ticker_night/_/remove + +# 削除 + function asset:effect/0358.time_ticker_night/modifier/remove diff --git a/Asset/data/asset/functions/effect/0358.time_ticker_night/tick/.mcfunction b/Asset/data/asset/functions/effect/0358.time_ticker_night/tick/.mcfunction new file mode 100644 index 0000000000..9341ec7423 --- /dev/null +++ b/Asset/data/asset/functions/effect/0358.time_ticker_night/tick/.mcfunction @@ -0,0 +1,17 @@ +#> asset:effect/0358.time_ticker_night/tick/ +# +# Effectのtick処理 +# +# @within function asset:effect/0358.time_ticker_night/_/tick + +# 朝になったら効果切り替え(エンド除く) +# 1tick前のディメンションがエンドの場合は付与せずに解除だけ行う + execute if predicate lib:is_day unless predicate lib:dimension/is_end if data storage asset:context this{InTheEnd:false} run function asset:effect/0358.time_ticker_night/tick/morning + execute if predicate lib:is_day unless predicate lib:dimension/is_end run data modify storage asset:context Duration set value 0 + +# 今がエンド && 前tickにエンドにいない なら朝バフを付与 + execute if predicate lib:dimension/is_end if data storage asset:context this{InTheEnd:false} run function asset:effect/0358.time_ticker_night/tick/morning + execute if predicate lib:dimension/is_end if data storage asset:context this{InTheEnd:false} run data modify storage asset:context this.InTheEnd set value true + +# エンドにいないならエンド判定をfalseにしておく + execute unless predicate lib:dimension/is_end if data storage asset:context this{InTheEnd:true} run data modify storage asset:context this.InTheEnd set value false diff --git a/Asset/data/asset/functions/effect/0358.time_ticker_night/tick/morning.mcfunction b/Asset/data/asset/functions/effect/0358.time_ticker_night/tick/morning.mcfunction new file mode 100644 index 0000000000..2e21de187a --- /dev/null +++ b/Asset/data/asset/functions/effect/0358.time_ticker_night/tick/morning.mcfunction @@ -0,0 +1,13 @@ +#> asset:effect/0358.time_ticker_night/tick/morning +# +# +# +# @within function asset:effect/0358.time_ticker_night/tick/ + +# 効果時間とフィールドを引き継いで夜バフを付与 + data modify storage api: Argument.ID set value 357 + execute store result storage api: Argument.Duration int 0.9999999999 run data get storage asset:context Duration + data modify storage api: Argument.FieldOverride set from storage asset:context this + execute if predicate lib:dimension/is_end run data modify storage api: Argument.FieldOverride.InTheEnd set value true + function api:entity/mob/effect/give + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/tags/functions/effect/end.json b/Asset/data/asset/tags/functions/effect/end.json index ec0622ef77..77a312bdb9 100644 --- a/Asset/data/asset/tags/functions/effect/end.json +++ b/Asset/data/asset/tags/functions/effect/end.json @@ -1,5 +1,7 @@ { "values": [ + "asset:effect/0358.time_ticker_night/_/end", + "asset:effect/0357.time_ticker_morning/_/end", "asset:effect/0342.prayer_amidst_blight/_/end", "asset:effect/0340.endless_thirst/_/end", "asset:effect/0350.yuzu/_/end", @@ -105,4 +107,4 @@ "asset:effect/0007.defense_base_debuff/_/end", "asset:effect/0258.spirit_melody/_/end" ] -} +} \ 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 767f196e38..b36be559fa 100644 --- a/Asset/data/asset/tags/functions/effect/given.json +++ b/Asset/data/asset/tags/functions/effect/given.json @@ -1,5 +1,7 @@ { "values": [ + "asset:effect/0358.time_ticker_night/_/given", + "asset:effect/0357.time_ticker_morning/_/given", "asset:effect/0342.prayer_amidst_blight/_/given", "asset:effect/0340.endless_thirst/_/given", "asset:effect/0350.yuzu/_/given", @@ -99,4 +101,4 @@ "asset:effect/0007.defense_base_debuff/_/given", "asset:effect/0258.spirit_melody/_/given" ] -} +} \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/effect/register.json b/Asset/data/asset/tags/functions/effect/register.json index 8cf7418f59..75007e719d 100644 --- a/Asset/data/asset/tags/functions/effect/register.json +++ b/Asset/data/asset/tags/functions/effect/register.json @@ -1,5 +1,7 @@ { "values": [ + "asset:effect/0358.time_ticker_night/_/register", + "asset:effect/0357.time_ticker_morning/_/register", "asset:effect/0339.will_o_wisp/_/register", "asset:effect/0342.prayer_amidst_blight/_/register", "asset:effect/0340.endless_thirst/_/register", @@ -170,4 +172,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/remove.json b/Asset/data/asset/tags/functions/effect/remove.json index 1a797796bf..42ed4eea34 100644 --- a/Asset/data/asset/tags/functions/effect/remove.json +++ b/Asset/data/asset/tags/functions/effect/remove.json @@ -1,5 +1,7 @@ { "values": [ + "asset:effect/0358.time_ticker_night/_/remove", + "asset:effect/0357.time_ticker_morning/_/remove", "asset:effect/0342.prayer_amidst_blight/_/remove", "asset:effect/0340.endless_thirst/_/remove", "asset:effect/0350.yuzu/_/remove", @@ -113,4 +115,4 @@ "asset:effect/0007.defense_base_debuff/_/remove", "asset:effect/0258.spirit_melody/_/remove" ] -} +} \ 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 59b931998c..458b5d00e6 100644 --- a/Asset/data/asset/tags/functions/effect/tick.json +++ b/Asset/data/asset/tags/functions/effect/tick.json @@ -1,5 +1,7 @@ { "values": [ + "asset:effect/0358.time_ticker_night/_/tick", + "asset:effect/0357.time_ticker_morning/_/tick", "asset:effect/0339.will_o_wisp/_/tick", "asset:effect/0342.prayer_amidst_blight/_/tick", "asset:effect/0340.endless_thirst/_/tick", @@ -101,4 +103,4 @@ "asset:effect/0279.poison_of_vinderre/_/tick", "asset:effect/0258.spirit_melody/_/tick" ] -} +} \ No newline at end of file