diff --git a/Asset/data/asset/functions/artifact/1360.vintage_wine/give/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1360.vintage_wine/give/1.trigger.mcfunction new file mode 100644 index 0000000000..afa78e5b83 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1360.vintage_wine/give/1.trigger.mcfunction @@ -0,0 +1,7 @@ +#> asset:artifact/1360.vintage_wine/give/1.trigger +# +# 神器の取得処理の呼び出し時に実行されるfunction +# +# @within tag/function asset:artifact/give + +execute if data storage asset:context {id:1360} run function asset:artifact/1360.vintage_wine/give/2.give \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1360.vintage_wine/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1360.vintage_wine/give/2.give.mcfunction new file mode 100644 index 0000000000..acf9fd6ba7 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1360.vintage_wine/give/2.give.mcfunction @@ -0,0 +1,68 @@ +#> asset:artifact/1360.vintage_wine/give/2.give +# +# 神器の作成部 ここでID等を定義する +# +# @user +# @within function asset:artifact/1360.vintage_wine/give/1.trigger + +# 神器の説明や消費MPなどをここで設定する。 +# 最後にasset:artifact/common/giveを実行することで入手可能。 + +# 神器のID (int) スプレッドシートの値を入れる + data modify storage asset:artifact ID set value 1360 +# 神器のベースアイテム + data modify storage asset:artifact Item set value "minecraft:honey_bottle" +# 神器の名前 (TextComponentString) + data modify storage asset:artifact Name set value '{"text":"ヴィンテージ・ワイン","color":"#d93d64"}' +# 神器の説明文 (TextComponentString[]) + data modify storage asset:artifact Lore set value ['{"text":"体力を10回復する","color":"white"}','{"text":"オフハンドに所持していた時間が2秒につき回復量が増加する","color":"white"}','{"text":"(最大回復量:90、所持時間18秒で効果最大)","color":"white"}'] +# 消費アイテム ({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 1 +# 神器を発動できるスロット (string) Wikiを参照 + data modify storage asset:artifact Slot set value "offhand" +# 神器のトリガー (string) Wikiを参照 + data modify storage asset:artifact Trigger set value "itemUse" +# 神器の発動条件 (TextComponentString) (オプション) + # data modify storage asset:artifact Condition set value +# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション) + # data modify storage asset:artifact AttackInfo.Damage set value [0,0] +# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション) + # data modify storage asset:artifact AttackInfo.AttackType set value [Physical,Magic] +# 攻撃に関する情報 -攻撃属性 (string[]) Wikiを参照 (オプション) + # data modify storage asset:artifact AttackInfo.ElementType set value [Fire,Water,Thunder,None] +# 攻撃に関する情報 -防御無視 (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 +# MP消費量 (int) + data modify storage asset:artifact MPCost set value 0 +# 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 +# 種別クールダウン ({Type: string, Duration: int}) (オプション) + # data modify storage asset:artifact TypeCooldown.Type set value + # data modify storage asset:artifact TypeCooldown.Duration set value +# グローバルクールダウン (int) (オプション) + # data modify storage asset:artifact SpecialCooldown set value +# クールダウンによる使用不可のメッセージを非表示にするか否か (boolean) (オプション) + # data modify storage asset:artifact DisableCooldownMessage set value +# MP不足による使用不可のメッセージを非表示にするか否か (boolean) (オプション) + # data modify storage asset:artifact DisableMPMessage set value +# 破壊時の音を鳴らさないかどうか (boolean) (オプション) + data modify storage asset:artifact DisableBreakSound set value true +# 扱える神 (string[]) Wikiを参照 + data modify storage asset:artifact CanUsedGod set value "ALL" +# カスタム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/1360.vintage_wine/register.mcfunction b/Asset/data/asset/functions/artifact/1360.vintage_wine/register.mcfunction new file mode 100644 index 0000000000..6b06f264c0 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1360.vintage_wine/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1360.vintage_wine/register +# +# 神器プールへの登録処理 +# +# @within tag/function asset:artifact/register + +# 日替わり商人に売らせる予定(Lv2?) +# data modify storage asset:artifact RarityRegistry[1] append value [1360] diff --git a/Asset/data/asset/functions/artifact/1360.vintage_wine/tick/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1360.vintage_wine/tick/1.trigger.mcfunction new file mode 100644 index 0000000000..a236e1636f --- /dev/null +++ b/Asset/data/asset/functions/artifact/1360.vintage_wine/tick/1.trigger.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1360.vintage_wine/tick/1.trigger +# +# +# +# @within tag/function asset:artifact/tick + +# + execute if data storage asset:context id{offhand:1360} run function asset:artifact/1360.vintage_wine/tick/2.check_condition diff --git a/Asset/data/asset/functions/artifact/1360.vintage_wine/tick/2.check_condition.mcfunction b/Asset/data/asset/functions/artifact/1360.vintage_wine/tick/2.check_condition.mcfunction new file mode 100644 index 0000000000..7364e3443b --- /dev/null +++ b/Asset/data/asset/functions/artifact/1360.vintage_wine/tick/2.check_condition.mcfunction @@ -0,0 +1,15 @@ +#> asset:artifact/1360.vintage_wine/tick/2.check_condition +# +# +# +# @within function asset:artifact/1360.vintage_wine/tick/1.trigger + +# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く + function asset:artifact/common/check_condition/offhand +# 他にアイテム等確認する場合はここに書く + +# CanUsedタグをチェックして3.main.mcfunctionを実行する + execute if entity @s[tag=CanUsed] run function asset:artifact/1360.vintage_wine/tick/3.main + +# CanUsedを削除 + tag @s remove CanUsed diff --git a/Asset/data/asset/functions/artifact/1360.vintage_wine/tick/3.main.mcfunction b/Asset/data/asset/functions/artifact/1360.vintage_wine/tick/3.main.mcfunction new file mode 100644 index 0000000000..8987bd3898 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1360.vintage_wine/tick/3.main.mcfunction @@ -0,0 +1,37 @@ +#> asset:artifact/1360.vintage_wine/tick/3.main +# +# +# +# @within function asset:artifact/1360.vintage_wine/tick/2.check_condition + +#> Private +# @private + #declare score_holder $Stack + +# 固有バフチェック + data modify storage api: Argument.ID set value 369 + function api:entity/mob/effect/get/from_id + +# チャージ+1 + execute store result storage api: Argument.FieldOverride.Charge int -1 run data get storage api: Return.Effect.Field.Charge -1.000000001 + +# チャージが0なら1に初期化 + execute if data storage api: Argument.FieldOverride{Charge:0} run data modify storage api: Argument.FieldOverride.Charge set value 1 + +# (チャージ / N) + 1をスタックとする + execute store result score $Stack Temporary run data get storage api: Argument.FieldOverride.Charge + scoreboard players operation $Stack Temporary /= $40 Const + scoreboard players add $Stack Temporary 1 +# 最大スタック + scoreboard players operation $Stack Temporary < $10 Const + +# tellraw @a {"storage":"api:","nbt":"Argument.FieldOverride.Charge"} + +# 固有バフを付与 + data modify storage api: Argument.ID set value 369 + execute store result storage api: Argument.Stack int 1 run scoreboard players get $Stack Temporary + function api:entity/mob/effect/give + function api:entity/mob/effect/reset + +# リセマラ + scoreboard players reset $Stack Temporary diff --git a/Asset/data/asset/functions/artifact/1360.vintage_wine/use_item/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1360.vintage_wine/use_item/1.trigger.mcfunction new file mode 100644 index 0000000000..d555aaf4df --- /dev/null +++ b/Asset/data/asset/functions/artifact/1360.vintage_wine/use_item/1.trigger.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1360.vintage_wine/use_item/1.trigger +# +# 指定したイベントタイミングで実行されるfunction +# +# @within tag/function asset:artifact/** + +# storage asset:idのoffhandに装備している神器のIDが入っているので比較し、~/2.check_condition.mcfunctionを実行する + execute if data storage asset:context id{offhand:1360} run function asset:artifact/1360.vintage_wine/use_item/2.check_condition diff --git a/Asset/data/asset/functions/artifact/1360.vintage_wine/use_item/2.check_condition.mcfunction b/Asset/data/asset/functions/artifact/1360.vintage_wine/use_item/2.check_condition.mcfunction new file mode 100644 index 0000000000..2a716ac3a1 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1360.vintage_wine/use_item/2.check_condition.mcfunction @@ -0,0 +1,12 @@ +#> asset:artifact/1360.vintage_wine/use_item/2.check_condition +# +# 神器の発動条件をチェックします +# +# @within function asset:artifact/1360.vintage_wine/use_item/1.trigger + +# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く + function asset:artifact/common/check_condition/offhand +# 他にアイテム等確認する場合はここに書く + +# CanUsedタグをチェックして3.main.mcfunctionを実行する + execute if entity @s[tag=CanUsed] run function asset:artifact/1360.vintage_wine/use_item/3.main diff --git a/Asset/data/asset/functions/artifact/1360.vintage_wine/use_item/3.main.mcfunction b/Asset/data/asset/functions/artifact/1360.vintage_wine/use_item/3.main.mcfunction new file mode 100644 index 0000000000..c06e045d54 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1360.vintage_wine/use_item/3.main.mcfunction @@ -0,0 +1,39 @@ +#> asset:artifact/1360.vintage_wine/use_item/3.main +# +# 神器のメイン処理部 +# +# @within function asset:artifact/1360.vintage_wine/use_item/2.check_condition + +# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う + function asset:artifact/common/use/offhand + +# ここから先は神器側の効果の処理を書く + +# 演出 + particle dust 1 0.278 0.459 1 ~ ~1.2 ~ 0.4 0.4 0.4 1 10 normal + +# 固有バフチェック + data modify storage api: Argument.ID set value 369 + function api:entity/mob/effect/get/from_id + +# スタックにつき回復量を変更 + execute if data storage api: Return.Effect{Stack: 1} run data modify storage api: Argument.Heal set value 10d + execute if data storage api: Return.Effect{Stack: 2} run data modify storage api: Argument.Heal set value 12d + execute if data storage api: Return.Effect{Stack: 3} run data modify storage api: Argument.Heal set value 15d + execute if data storage api: Return.Effect{Stack: 4} run data modify storage api: Argument.Heal set value 19d + execute if data storage api: Return.Effect{Stack: 5} run data modify storage api: Argument.Heal set value 25d + execute if data storage api: Return.Effect{Stack: 6} run data modify storage api: Argument.Heal set value 33d + execute if data storage api: Return.Effect{Stack: 7} run data modify storage api: Argument.Heal set value 43d + execute if data storage api: Return.Effect{Stack: 8} run data modify storage api: Argument.Heal set value 56d + execute if data storage api: Return.Effect{Stack: 9} run data modify storage api: Argument.Heal set value 71d + execute if data storage api: Return.Effect{Stack:10} run data modify storage api: Argument.Heal set value 90d + +# 回復 + function api:heal/modifier + function api:heal/ + function api:heal/reset + +# 念のため固有バフ解除 + data modify storage api: Argument.ID set value 369 + function api:entity/mob/effect/remove/from_id + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/effect/0369.elevage/_/register.mcfunction b/Asset/data/asset/functions/effect/0369.elevage/_/register.mcfunction new file mode 100644 index 0000000000..5e22fac181 --- /dev/null +++ b/Asset/data/asset/functions/effect/0369.elevage/_/register.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0369.elevage/_/register +# +# +# +# @within tag/function asset:effect/register + +execute if data storage asset:context {id:369} run function asset:effect/0369.elevage/register \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0369.elevage/register.mcfunction b/Asset/data/asset/functions/effect/0369.elevage/register.mcfunction new file mode 100644 index 0000000000..049c511206 --- /dev/null +++ b/Asset/data/asset/functions/effect/0369.elevage/register.mcfunction @@ -0,0 +1,39 @@ +#> asset:effect/0369.elevage/register +# +# Effectのデータを指定 +# +# @within function asset:effect/0369.elevage/_/register + +# ExtendsSafe (boolean) (default = false) + # data modify storage asset:effect ExtendsSafe set value true +# ID (int) + data modify storage asset:effect ID set value 369 +# 名前 (TextComponentString) + data modify storage asset:effect Name set value '{"text":"Élevage","color":"#d93d64"}' +# 説明文 (TextComponentString[]) + data modify storage asset:effect Description set value ['{"text":"ヴィンテージ・ワインの回復量が上昇する"}'] +# 効果時間 (int) (default = API || error) + data modify storage asset:effect Duration set value 1 +# スタック (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 + +# フィールド + # data modify storage asset:effect Field set value {} diff --git a/Asset/data/asset/tags/functions/artifact/give.json b/Asset/data/asset/tags/functions/artifact/give.json index 4b7dcacd81..13783e6df6 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/1360.vintage_wine/give/1.trigger", "asset:artifact/1453.frost_flake_bow/give/1.trigger", "asset:artifact/1534.drop_in_the_bucket/give/1.trigger", "asset:artifact/1366.shaved_ice_melon/give/1.trigger", @@ -538,4 +539,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/register.json b/Asset/data/asset/tags/functions/artifact/register.json index 98587f21f2..ee5a3f25a4 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/1360.vintage_wine/register", "asset:artifact/1534.drop_in_the_bucket/register", "asset:artifact/1365.shaved_ice_blue_hawaii/register", "asset:artifact/1366.shaved_ice_melon/register", @@ -315,4 +316,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/artifact/tick.json b/Asset/data/asset/tags/functions/artifact/tick.json index e96dcb04e6..7b00d0fdbf 100644 --- a/Asset/data/asset/tags/functions/artifact/tick.json +++ b/Asset/data/asset/tags/functions/artifact/tick.json @@ -1,5 +1,6 @@ { "values": [ + "asset:artifact/1360.vintage_wine/tick/1.trigger", "asset:artifact/1324.balance_star/trigger/1.trigger", "asset:artifact/0237.schrodingers_cat/trigger/1.trigger", "asset:artifact/1057.great_demon_head/tick/1.trigger", diff --git a/Asset/data/asset/tags/functions/artifact/use_item.json b/Asset/data/asset/tags/functions/artifact/use_item.json index 98a8f9ea5f..393891c14e 100644 --- a/Asset/data/asset/tags/functions/artifact/use_item.json +++ b/Asset/data/asset/tags/functions/artifact/use_item.json @@ -1,5 +1,6 @@ { "values": [ + "asset:artifact/1360.vintage_wine/use_item/1.trigger", "asset:artifact/1366.shaved_ice_melon/trigger/1.trigger", "asset:artifact/1365.shaved_ice_blue_hawaii/trigger/1.trigger", "asset:artifact/1364.shaved_ice_strawberry/trigger/1.trigger", diff --git a/Asset/data/asset/tags/functions/effect/register.json b/Asset/data/asset/tags/functions/effect/register.json index 6b9eed8b15..d8a19ad3e8 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/0369.elevage/_/register", "asset:effect/0348.cool_feeling/_/register", "asset:effect/0356.dolphin_blessing/_/register", "asset:effect/0302.safety_check_complete/_/register",