diff --git a/Asset/data/asset/functions/artifact/1581.reactor_plate/damage/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1581.reactor_plate/damage/1.trigger.mcfunction new file mode 100644 index 0000000000..188ad8f59e --- /dev/null +++ b/Asset/data/asset/functions/artifact/1581.reactor_plate/damage/1.trigger.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1581.reactor_plate/damage/1.trigger +# +# 指定したイベントタイミングで実行されるfunction +# +# @within tag/function asset:artifact/** + +# storage asset:idのmainhandに装備している神器のIDが入っているので比較し、~/2.check_condition.mcfunctionを実行する + execute if data storage asset:context id{hotbar:[1581]} run function asset:artifact/1581.reactor_plate/damage/2.check_condition diff --git a/Asset/data/asset/functions/artifact/1581.reactor_plate/damage/2.check_condition.mcfunction b/Asset/data/asset/functions/artifact/1581.reactor_plate/damage/2.check_condition.mcfunction new file mode 100644 index 0000000000..da8b57d0f4 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1581.reactor_plate/damage/2.check_condition.mcfunction @@ -0,0 +1,17 @@ +#> asset:artifact/1581.reactor_plate/damage/2.check_condition +# +# 神器の発動条件をチェックします +# +# @within function asset:artifact/1581.reactor_plate/damage/1.trigger + + +# 他にアイテム等確認する場合はここに書く +# Dotでは反応しない + execute if data storage asset:context Attack{IsDoT:true} run return fail +# 特定 ID の Effect 情報を取得 + data modify storage api: Argument.ID set value 377 + function api:entity/mob/effect/get/from_id +# エフェクトがないなら終わり + execute unless data storage api: Return.Effect run return fail +# 3.main.mcfunctionを実行する + function asset:artifact/1581.reactor_plate/damage/3.main diff --git a/Asset/data/asset/functions/artifact/1581.reactor_plate/damage/3.main.mcfunction b/Asset/data/asset/functions/artifact/1581.reactor_plate/damage/3.main.mcfunction new file mode 100644 index 0000000000..33faf810d3 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1581.reactor_plate/damage/3.main.mcfunction @@ -0,0 +1,31 @@ +#> asset:artifact/1581.reactor_plate/damage/3.main +# +# スタックに応じて暴発ダメージ(攻撃するときだけ一瞬持つように運用するのはずるいのでホットバー検知にした) +# +# @within function asset:artifact/1581.reactor_plate/damage/2.check_condition + + +# 特定 ID の Effect 情報を取得はcheckで済み + +# 基礎ダメージとバフ量指定(Damage+Baf*スタック数=与ダメ) + scoreboard players set $17X.Damage Temporary 0 + scoreboard players set $17X.Baf Temporary 20 +# 計算処理 + function asset:artifact/1581.reactor_plate/trigger/calculate + +# 演出 + function asset:artifact/1581.reactor_plate/damage/vfx/explode + +# (暴発)自爆ダメージ(計算機構でダメージ量は指定) + data modify storage api: Argument.AttackType set value "Physical" + data modify storage api: Argument.ElementType set value "Fire" + data modify storage api: Argument.DeathMessage append value '[{"translate":"%1$sは熱に浮かされすぎた","with":[{"selector":"@s"}]}]' + data modify storage api: Argument.DeathMessage append value '[{"translate":"%1$sは魔力炉の暴発に巻き込まれた","with":[{"selector":"@s"}]}]' + data modify storage api: Argument.FixedDamage set value true + function api:damage/ + function api:damage/reset + +# 効果削除 + data modify storage api: Argument.ID set value 377 + function api:entity/mob/effect/remove/from_id + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/artifact/1581.reactor_plate/damage/dis_equip/.mcfunction b/Asset/data/asset/functions/artifact/1581.reactor_plate/damage/dis_equip/.mcfunction new file mode 100644 index 0000000000..2f1491167e --- /dev/null +++ b/Asset/data/asset/functions/artifact/1581.reactor_plate/damage/dis_equip/.mcfunction @@ -0,0 +1,7 @@ +#> asset:artifact/1581.reactor_plate/damage/dis_equip/ +# +# 装備を外した時に外した部位にのみのidが入った状態でトリガーされる +# +# @within tag/function asset:artifact/dis_equip + +execute if data storage asset:context id{hotbar:[1581]} run function asset:artifact/1581.reactor_plate/damage/dis_equip/main diff --git a/Asset/data/asset/functions/artifact/1581.reactor_plate/damage/dis_equip/main.mcfunction b/Asset/data/asset/functions/artifact/1581.reactor_plate/damage/dis_equip/main.mcfunction new file mode 100644 index 0000000000..7efc512239 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1581.reactor_plate/damage/dis_equip/main.mcfunction @@ -0,0 +1,17 @@ +#> asset:artifact/1581.reactor_plate/damage/dis_equip/main +# +# オフハンドに隠すと暴発を防げちゃうのでいっそ排熱されるようにする +# +# @within function asset:artifact/1581.reactor_plate/damage/dis_equip/ + +# 特定 ID の Effect 情報を取得 + data modify storage api: Argument.ID set value 377 + function api:entity/mob/effect/get/from_id +# スタックがないなら + execute unless data storage api: Return.Effect run return fail +# 演出 + function asset:artifact/1581.reactor_plate/damage/vfx/exhaust +# 削除 + data modify storage api: Argument.ID set value 377 + function api:entity/mob/effect/remove/from_id + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/artifact/1581.reactor_plate/damage/vfx/exhaust.mcfunction b/Asset/data/asset/functions/artifact/1581.reactor_plate/damage/vfx/exhaust.mcfunction new file mode 100644 index 0000000000..e4a94d5158 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1581.reactor_plate/damage/vfx/exhaust.mcfunction @@ -0,0 +1,12 @@ +#> asset:artifact/1581.reactor_plate/damage/vfx/exhaust +# +# 排熱演出 +# +# @within function asset:artifact/1581.reactor_plate/damage/dis_equip/main + + +# 演出 + playsound minecraft:block.fire.extinguish player @a ~ ~ ~ 1 0.8 + particle minecraft:cloud ~ ~1 ~ 0.15 0.15 0.15 0.08 15 normal + particle minecraft:smoke ~ ~1 ~ 0.25 0.5 0.25 0.02 8 normal + particle minecraft:poof ~ ~1 ~ 0.15 0.15 0.15 0.04 6 normal diff --git a/Asset/data/asset/functions/artifact/1581.reactor_plate/damage/vfx/explode.mcfunction b/Asset/data/asset/functions/artifact/1581.reactor_plate/damage/vfx/explode.mcfunction new file mode 100644 index 0000000000..5af1a3ee26 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1581.reactor_plate/damage/vfx/explode.mcfunction @@ -0,0 +1,13 @@ +#> asset:artifact/1581.reactor_plate/damage/vfx/explode +# +# 自爆演出 +# +# @within function asset:artifact/1581.reactor_plate/damage/3.main + + +# 演出 + playsound minecraft:entity.generic.explode player @a ~ ~ ~ 2.0 0.8 + playsound minecraft:entity.dragon_fireball.explode player @a ~ ~ ~ 2.0 1.0 + particle minecraft:flash ~ ~1 ~ 0 0 0 0 1 normal + particle minecraft:explosion_emitter ~ ~1 ~ 0.5 0.5 0.5 0 1 normal + particle minecraft:flame ~ ~1 ~ 0.5 0.5 0.5 0.5 100 normal diff --git a/Asset/data/asset/functions/artifact/1581.reactor_plate/give/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1581.reactor_plate/give/1.trigger.mcfunction new file mode 100644 index 0000000000..692f6dae32 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1581.reactor_plate/give/1.trigger.mcfunction @@ -0,0 +1,7 @@ +#> asset:artifact/1581.reactor_plate/give/1.trigger +# +# 神器の取得処理の呼び出し時に実行されるfunction +# +# @within tag/function asset:artifact/give + +execute if data storage asset:context {id:1581} run function asset:artifact/1581.reactor_plate/give/2.give \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1581.reactor_plate/give/2.give.mcfunction b/Asset/data/asset/functions/artifact/1581.reactor_plate/give/2.give.mcfunction new file mode 100644 index 0000000000..1f092b2c6d --- /dev/null +++ b/Asset/data/asset/functions/artifact/1581.reactor_plate/give/2.give.mcfunction @@ -0,0 +1,68 @@ +#> asset:artifact/1581.reactor_plate/give/2.give +# +# 神器の作成部 ここでID等を定義する +# +# @user +# @within function asset:artifact/1581.reactor_plate/give/1.trigger + +# 神器の説明や消費MPなどをここで設定する。 +# 最後にasset:artifact/common/giveを実行することで入手可能。 + +# 神器のID (int) スプレッドシートの値を入れる + data modify storage asset:artifact ID set value 1581 +# 神器のベースアイテム + data modify storage asset:artifact Item set value "stick" +# 神器の名前 (TextComponentString) + data modify storage asset:artifact Name set value '{"text":"リアクタープレート","color":"#B52400","bold":true}' +# 神器の説明文 (TextComponentString[]) + data modify storage asset:artifact Lore set value ['{"translate":"-%1$s攻撃時、チャージを1段階得る(最大%2$s段階)","with":[{"text":"\\u0002","font":"space"},{"text":"10"}]}','[{"translate":"-%1$sチャージ段階に応じてダメージが上昇する","with":[{"text":"\\u0002","font":"space"}]}]','[{"translate":"-%1$sクリティカル攻撃時、チャージを全て消費して範囲攻撃を行う","color":"white","with":[{"text":"\\u0002","font":"space"}]}]','[{"translate":"%1$s-%2$s最大チャージ時は敵の耐性を無視する","color":"white","with":[{"text":"\\u0008","font":"space"},{"text":"\\u0002","font":"space"}]}]','[{"translate":"-%1$s被ダメージ時、チャージがリセットされる","color":"white","with":[{"text":"\\u0002","font":"space"}]}]','[{"translate":"%1$s-%2$sチャージ1段階につき最大体力の%3$s分のダメージを受ける","color":"white","with":[{"text":"\\u0008","font":"space"},{"text":"\\u0002","font":"space"},{"text":"10%"}]}]'] +# 消費アイテム ({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 "mainhand" +# 神器のトリガー (string) Wikiを参照 + data modify storage asset:artifact Trigger set value "onAttackByMelee" +# 神器の発動条件 (TextComponentString) (オプション) + # data modify storage asset:artifact Condition set value +# 攻撃に関する情報 -Damage量 (literal[]/literal) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.Damage set value "500-1000 / 400-5600" +# 攻撃に関する情報 -攻撃タイプ (string[]) Wikiを参照 (オプション) + data modify storage asset:artifact AttackInfo.AttackType set value [Physical] +# 攻撃に関する情報 -攻撃属性 (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 "condition" +# 攻撃に関する情報 -攻撃範囲 (literal) Wikiを参照 (オプション) + #data modify storage asset:artifact AttackInfo.AttackRange set value +# MP消費量 (int) + data modify storage asset:artifact MPCost set value 40 +# 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 "shortRange" + data modify storage asset:artifact TypeCooldown.Duration set value 12 +# グローバルクールダウン (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 +# 扱える神 (string[]) Wikiを参照 + data modify storage asset:artifact CanUsedGod set value ["Urban", "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/1581.reactor_plate/register.mcfunction b/Asset/data/asset/functions/artifact/1581.reactor_plate/register.mcfunction new file mode 100644 index 0000000000..6fe36ad05f --- /dev/null +++ b/Asset/data/asset/functions/artifact/1581.reactor_plate/register.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1581.reactor_plate/register +# +# 神器プールへの登録処理 +# +# @within tag/function asset:artifact/register + +data modify storage asset:artifact RarityRegistry[4] append value [1581] +data modify storage asset:artifact RarityRegistryWithColor.Red[4] append value [1581] diff --git a/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/1.trigger.mcfunction b/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/1.trigger.mcfunction new file mode 100644 index 0000000000..f01098ff57 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/1.trigger.mcfunction @@ -0,0 +1,8 @@ +#> asset:artifact/1581.reactor_plate/trigger/1.trigger +# +# 指定したイベントタイミングで実行されるfunction +# +# @within tag/function asset:artifact/** + +# storage asset:idのmainhandに装備している神器のIDが入っているので比較し、~/2.check_condition.mcfunctionを実行する + execute if data storage asset:context id{mainhand:1581} run function asset:artifact/1581.reactor_plate/trigger/2.check_condition \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/2.check_condition.mcfunction b/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/2.check_condition.mcfunction new file mode 100644 index 0000000000..1f534c4bb6 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/2.check_condition.mcfunction @@ -0,0 +1,12 @@ +#> asset:artifact/1581.reactor_plate/trigger/2.check_condition +# +# 神器の発動条件をチェックします +# +# @within function asset:artifact/1581.reactor_plate/trigger/1.trigger + +# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く + function asset:artifact/common/check_condition/mainhand +# 他にアイテム等確認する場合はここに書く + +# CanUsedタグをチェックして3.main.mcfunctionを実行する + execute if entity @s[tag=CanUsed] run function asset:artifact/1581.reactor_plate/trigger/3.main \ No newline at end of file diff --git a/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/3.main.mcfunction b/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/3.main.mcfunction new file mode 100644 index 0000000000..0825327d76 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/3.main.mcfunction @@ -0,0 +1,44 @@ +#> asset:artifact/1581.reactor_plate/trigger/3.main +# +# 神器のメイン処理部 +# +# @within function asset:artifact/1581.reactor_plate/trigger/2.check_condition + +# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う + function asset:artifact/common/use/mainhand + +# ここから先は神器側の効果の処理を書く + +# 特定 ID の Effect 情報を取得 + data modify storage api: Argument.ID set value 377 + function api:entity/mob/effect/get/from_id +# クリティカルかつスタックがあるなら特殊攻撃に分岐 + execute if data storage asset:context Attack{Crit:true} if data storage api: Return.Effect run return run function asset:artifact/1581.reactor_plate/trigger/crit + +# 基礎ダメージとバフ量指定(Damage+Baf*スタック数=与ダメ) + scoreboard players set $17X.Damage Temporary 500 + scoreboard players set $17X.Baf Temporary 50 + +# 計算処理 + function asset:artifact/1581.reactor_plate/trigger/calculate + +# 演出 + execute at @e[type=#lib:living_without_player,tag=Victim,tag=!Uninterferable,distance=..10] run function asset:artifact/1581.reactor_plate/trigger/vfx/normal + execute anchored eyes positioned ^ ^ ^1.3 positioned ~ ~-0.5 ~ run function asset:artifact/1581.reactor_plate/trigger/vfx/normal_slash + +# ダメージ(計算機構でダメージ量は指定) + data modify storage api: Argument.AttackType set value "Physical" + data modify storage api: Argument.ElementType set value "Fire" + function api:damage/modifier + execute as @e[type=#lib:living_without_player,tag=Victim,tag=!Uninterferable,distance=..10] run function api:damage/ + function api:damage/reset + +# スタック付与 + data modify storage api: Argument.ID set value 377 + data modify storage api: Argument.Duration set value 300 + data modify storage api: Argument.Stack set value 1 + data modify storage api: Argument.DurationOperation set value "forceReplace" + data modify storage api: Argument.StackOperation set value "add" + data modify storage api: Argument.FieldOverride.Damage set value 20 + function api:entity/mob/effect/give + function api:entity/mob/effect/reset diff --git a/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/calculate.mcfunction b/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/calculate.mcfunction new file mode 100644 index 0000000000..a6c789a6bf --- /dev/null +++ b/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/calculate.mcfunction @@ -0,0 +1,19 @@ +#> asset:artifact/1581.reactor_plate/trigger/calculate +# +# ダメージ計算 +# +# @within function asset:artifact/1581.reactor_plate/** + #declare score_holder $17X.Stack + #declare score_holder $17X.Damage + #declare score_holder $17X.Baf + +# スタック取得 + execute store result score $17X.Stack Temporary run data get storage api: Return.Effect.Stack + scoreboard players operation $17X.Stack Temporary *= $17X.Baf Temporary + scoreboard players operation $17X.Damage Temporary += $17X.Stack Temporary +# ダメージ設定 + execute store result storage api: Argument.Damage float 1 run scoreboard players get $17X.Damage Temporary +# リセット + scoreboard players reset $17X.Stack Temporary + scoreboard players reset $17X.Damage Temporary + scoreboard players reset $17X.Baf Temporary diff --git a/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/crit.mcfunction b/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/crit.mcfunction new file mode 100644 index 0000000000..4d5de43694 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/crit.mcfunction @@ -0,0 +1,40 @@ +#> asset:artifact/1581.reactor_plate/trigger/crit +# +# スペシャル攻撃 +# +# @within function asset:artifact/1581.reactor_plate/trigger/3.main +#> Private +# @private + #declare tag 17X.Hit + +# 特定 ID の Effect 情報を取得 + data modify storage api: Argument.ID set value 377 + function api:entity/mob/effect/get/from_id +# 10層なら最大攻撃に + execute if data storage api: Return.Effect{Stack:10} run return run function asset:artifact/1581.reactor_plate/trigger/full + +# 基礎ダメージとバフ量指定(Damage+Baf*スタック数=与ダメ) + scoreboard players set $17X.Damage Temporary 0 + scoreboard players set $17X.Baf Temporary 400 + +# 計算処理 + function asset:artifact/1581.reactor_plate/trigger/calculate + +# 演出 + execute at @e[type=#lib:living_without_player,tag=Victim,tag=!Uninterferable,distance=..10] run function asset:artifact/1581.reactor_plate/trigger/vfx/special1 + +# 範囲 + execute at @e[type=#lib:living_without_player,tag=Victim,tag=!Uninterferable,distance=..10] run tag @e[type=#lib:living_without_player,tag=!Uninterferable,distance=..3] add 17X.Hit + +# ダメージ(計算機構でダメージ量は指定) + data modify storage api: Argument.AttackType set value "Physical" + data modify storage api: Argument.ElementType set value "Fire" + function api:damage/modifier + execute as @e[type=#lib:living_without_player,tag=17X.Hit,tag=!Uninterferable,distance=..10] run function api:damage/ + function api:damage/reset + +# 効果削除 + data modify storage api: Argument.ID set value 377 + function api:entity/mob/effect/remove/from_id + function api:entity/mob/effect/reset + tag @e[type=#lib:living_without_player,tag=17X.Hit,tag=!Uninterferable,distance=..10] remove 17X.Hit diff --git a/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/full.mcfunction b/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/full.mcfunction new file mode 100644 index 0000000000..289e05980b --- /dev/null +++ b/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/full.mcfunction @@ -0,0 +1,31 @@ +#> asset:artifact/1581.reactor_plate/trigger/full +# +# スペシャル攻撃(最大チャージ) +# +# @within function asset:artifact/1581.reactor_plate/trigger/crit +#> Private +# @private + #declare tag 17X.Hit + + +# 演出 + execute at @e[type=#lib:living_without_player,tag=Victim,tag=!Uninterferable,distance=..10] run function asset:artifact/1581.reactor_plate/trigger/vfx/special2 + +# 範囲 + execute at @e[type=#lib:living_without_player,tag=Victim,tag=!Uninterferable,distance=..10] run tag @e[type=#lib:living_without_player,tag=!Uninterferable,distance=..7] add 17X.Hit + +# ダメージ(威力固定のため計算はなし)防御、属性貫通 + data modify storage api: Argument.Damage set value 5600 + data modify storage api: Argument.AttackType set value "Physical" + data modify storage api: Argument.ElementType set value "Fire" + data modify storage api: Argument.BypassArmorDefense set value true + function api:damage/modifier + data modify storage api: Argument.BypassModifier set value true + execute as @e[type=#lib:living_without_player,tag=17X.Hit,tag=!Uninterferable,distance=..10] run function api:damage/ + function api:damage/reset + +# スタック削除 + data modify storage api: Argument.ID set value 377 + function api:entity/mob/effect/remove/from_id + function api:entity/mob/effect/reset + tag @e[type=#lib:living_without_player,tag=17X.Hit,tag=!Uninterferable,distance=..10] remove 17X.Hit diff --git a/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/vfx/normal.mcfunction b/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/vfx/normal.mcfunction new file mode 100644 index 0000000000..38b5a014a2 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/vfx/normal.mcfunction @@ -0,0 +1,11 @@ +#> asset:artifact/1581.reactor_plate/trigger/vfx/normal +# +# 攻撃演出 +# +# @within function asset:artifact/1581.reactor_plate/trigger/3.main + + playsound minecraft:entity.blaze.hurt player @a ~ ~ ~ 1.2 0.8 + playsound minecraft:item.firecharge.use player @a ~ ~ ~ 0.4 1.5 + playsound minecraft:block.respawn_anchor.charge player @a ~ ~ ~ 0.7 1.8 + particle minecraft:lava ~ ~1 ~ 0.5 0.5 0.5 1.0 10 normal + particle minecraft:smoke ~ ~1 ~ 0.3 0.5 0.3 0.01 5 normal diff --git a/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/vfx/normal_slash.mcfunction b/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/vfx/normal_slash.mcfunction new file mode 100644 index 0000000000..f089ff3ff9 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/vfx/normal_slash.mcfunction @@ -0,0 +1,11 @@ +#> asset:artifact/1581.reactor_plate/trigger/vfx/normal_slash +# +# 攻撃演出 +# +# @within function asset:artifact/1581.reactor_plate/trigger/3.main + + + # 斬撃 + data modify storage api: Argument.ID set value 2001 + data modify storage api: Argument.FieldOverride set value {Color:16729344,Frames:[20335,20336,20337],Scale:[3f,3f,0.1f],Transformation:{left_rotation:[0.561f,-0.43f,0.43f,0.561f],right_rotation:[0f,0f,0f,1f],translation:[0f,0f,0f]}} + function api:object/summon diff --git a/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/vfx/special1.mcfunction b/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/vfx/special1.mcfunction new file mode 100644 index 0000000000..a7aa0a4b82 --- /dev/null +++ b/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/vfx/special1.mcfunction @@ -0,0 +1,17 @@ +#> asset:artifact/1581.reactor_plate/trigger/vfx/special1 +# +# 攻撃演出 +# +# @within function asset:artifact/1581.reactor_plate/trigger/crit + + +# 演出 + playsound minecraft:entity.player.attack.crit player @a ~ ~ ~ 1 0.8 + playsound minecraft:entity.dragon_fireball.explode player @a ~ ~ ~ 1 1.5 + playsound minecraft:item.firecharge.use player @a ~ ~ ~ 1.5 0.7 + playsound minecraft:entity.blaze.shoot player @a ~ ~ ~ 1.2 0.9 + playsound minecraft:entity.generic.explode player @a ~ ~ ~ 2.0 0.6 + particle minecraft:large_smoke ~ ~1 ~ 1 1 1 0.05 50 normal + particle minecraft:flame ~ ~1 ~ 1 0.5 1 0.2 100 + particle minecraft:large_smoke ~ ~1 ~ 1 1 1 0.05 30 + particle minecraft:lava ~ ~1 ~ 0.5 0.5 0.5 1 10 diff --git a/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/vfx/special2.mcfunction b/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/vfx/special2.mcfunction new file mode 100644 index 0000000000..248e4ea35f --- /dev/null +++ b/Asset/data/asset/functions/artifact/1581.reactor_plate/trigger/vfx/special2.mcfunction @@ -0,0 +1,19 @@ +#> asset:artifact/1581.reactor_plate/trigger/vfx/special2 +# +# 攻撃演出 +# +# @within function asset:artifact/1581.reactor_plate/trigger/full + + +# 演出 + playsound minecraft:entity.generic.explode player @a ~ ~ ~ 5.0 0.5 + playsound minecraft:entity.lightning_bolt.thunder player @a ~ ~ ~ 5.0 0.5 + particle minecraft:flash ~ ~1 ~ 0 0 0 0 3 normal + particle minecraft:explosion_emitter ~ ~1 ~ 1.5 1.5 1.5 0 5 normal + particle minecraft:campfire_cosy_smoke ~ ~ ~ 1.0 3.0 1.0 0.2 300 normal + particle minecraft:flame ~ ~5 ~ 3.0 0.5 3.0 0.2 500 normal + particle minecraft:large_smoke ~ ~5 ~ 4.0 1.0 4.0 0.1 500 normal + particle minecraft:ash ~ ~5 ~ 5.0 5.0 5.0 0.0 1000 normal + particle minecraft:lava ~ ~5 ~ 5.0 5.0 5.0 0.0 50 normal + particle minecraft:flame ~ ~2.0 ~ 0.8 1.5 0.8 0.1 150 normal + particle minecraft:flame ~ ~0.5 ~ 1.2 0.0 1.2 0.05 200 normal diff --git a/Asset/data/asset/functions/effect/0377.reactor_criticality/_/end.mcfunction b/Asset/data/asset/functions/effect/0377.reactor_criticality/_/end.mcfunction new file mode 100644 index 0000000000..c4c63fb849 --- /dev/null +++ b/Asset/data/asset/functions/effect/0377.reactor_criticality/_/end.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0377.reactor_criticality/_/end +# +# Effectの効果の終了時に実行されるfunction +# +# @within tag/function asset:effect/end + +execute if data storage asset:context {id:377} run function asset:effect/0377.reactor_criticality/end/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0377.reactor_criticality/_/given.mcfunction b/Asset/data/asset/functions/effect/0377.reactor_criticality/_/given.mcfunction new file mode 100644 index 0000000000..5283171031 --- /dev/null +++ b/Asset/data/asset/functions/effect/0377.reactor_criticality/_/given.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0377.reactor_criticality/_/given +# +# Effectが付与された時に実行されるfunction +# +# @within tag/function asset:effect/given + +execute if data storage asset:context {id:377} run function asset:effect/0377.reactor_criticality/given/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0377.reactor_criticality/_/re-given.mcfunction b/Asset/data/asset/functions/effect/0377.reactor_criticality/_/re-given.mcfunction new file mode 100644 index 0000000000..7132fc0324 --- /dev/null +++ b/Asset/data/asset/functions/effect/0377.reactor_criticality/_/re-given.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0377.reactor_criticality/_/re-given +# +# Effectが上書きされた時に実行されるfunction +# +# @within tag/function asset:effect/re-given + +execute if data storage asset:context {id:377} run function asset:effect/0377.reactor_criticality/re-given/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0377.reactor_criticality/_/register.mcfunction b/Asset/data/asset/functions/effect/0377.reactor_criticality/_/register.mcfunction new file mode 100644 index 0000000000..e3cbf9a428 --- /dev/null +++ b/Asset/data/asset/functions/effect/0377.reactor_criticality/_/register.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0377.reactor_criticality/_/register +# +# +# +# @within tag/function asset:effect/register + +execute if data storage asset:context {id:377} run function asset:effect/0377.reactor_criticality/register \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0377.reactor_criticality/_/remove.mcfunction b/Asset/data/asset/functions/effect/0377.reactor_criticality/_/remove.mcfunction new file mode 100644 index 0000000000..14efc87fb0 --- /dev/null +++ b/Asset/data/asset/functions/effect/0377.reactor_criticality/_/remove.mcfunction @@ -0,0 +1,7 @@ +#> asset:effect/0377.reactor_criticality/_/remove +# +# Effectが神器や牛乳によって削除された時に実行されるfunction +# +# @within tag/function asset:effect/remove + +execute if data storage asset:context {id:377} run function asset:effect/0377.reactor_criticality/remove/ \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0377.reactor_criticality/end/.mcfunction b/Asset/data/asset/functions/effect/0377.reactor_criticality/end/.mcfunction new file mode 100644 index 0000000000..99a151f552 --- /dev/null +++ b/Asset/data/asset/functions/effect/0377.reactor_criticality/end/.mcfunction @@ -0,0 +1,5 @@ +#> asset:effect/0377.reactor_criticality/end/ +# +# Effectの効果が切れた時の処理 +# +# @within function asset:effect/0377.reactor_criticality/_/end \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0377.reactor_criticality/given/.mcfunction b/Asset/data/asset/functions/effect/0377.reactor_criticality/given/.mcfunction new file mode 100644 index 0000000000..127710edc0 --- /dev/null +++ b/Asset/data/asset/functions/effect/0377.reactor_criticality/given/.mcfunction @@ -0,0 +1,5 @@ +#> asset:effect/0377.reactor_criticality/given/ +# +# Effectが付与された時の処理 +# +# @within function asset:effect/0377.reactor_criticality/_/given \ No newline at end of file diff --git a/Asset/data/asset/functions/effect/0377.reactor_criticality/re-given/.mcfunction b/Asset/data/asset/functions/effect/0377.reactor_criticality/re-given/.mcfunction new file mode 100644 index 0000000000..d134c2292e --- /dev/null +++ b/Asset/data/asset/functions/effect/0377.reactor_criticality/re-given/.mcfunction @@ -0,0 +1,5 @@ +#> asset:effect/0377.reactor_criticality/re-given/ +# +# Effectが上書きされた時の処理 +# +# @within function asset:effect/0377.reactor_criticality/_/re-given diff --git a/Asset/data/asset/functions/effect/0377.reactor_criticality/register.mcfunction b/Asset/data/asset/functions/effect/0377.reactor_criticality/register.mcfunction new file mode 100644 index 0000000000..8ba0734d1d --- /dev/null +++ b/Asset/data/asset/functions/effect/0377.reactor_criticality/register.mcfunction @@ -0,0 +1,39 @@ +#> asset:effect/0377.reactor_criticality/register +# +# Effectのデータを指定 +# +# @within function asset:effect/0377.reactor_criticality/_/register + +# ExtendsSafe (boolean) (default = false) + # data modify storage asset:effect ExtendsSafe set value true +# ID (int) + data modify storage asset:effect ID set value 377 +# 名前 (TextComponentString) + data modify storage asset:effect Name set value '{"text":"臨界","color":"#B52400"}' +# 説明文 (TextComponentString[]) + data modify storage asset:effect Description set value ['{"text":"リアクタープレートで攻撃する度に付与され累積する(最大10層)"}','{"text":"スタック数に応じてリアクタープレートの出力が上がる"}','{"text":"しかしダメージを受けると暴発し、スタック数に応じた炎物理ダメージを自身に受ける","color":"red"}','{"text":"ホットバーからリアクタープレートを外すことで排熱される","color":"gray"}'] +# 効果時間 (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 "forceReplace" +# スタックの操作方法 (default = API || "replace") + data modify storage asset:effect StackOperation set value "add" +# 最大効果時間 (int) (default = 2147483647) + # data modify storage asset:effect MaxDuration set value +# 最大スタック (int) (default = 2147483647) + data modify storage asset:effect MaxStack set value 10 +# 悪い効果か否か (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/functions/effect/0377.reactor_criticality/remove/.mcfunction b/Asset/data/asset/functions/effect/0377.reactor_criticality/remove/.mcfunction new file mode 100644 index 0000000000..f5ce18fceb --- /dev/null +++ b/Asset/data/asset/functions/effect/0377.reactor_criticality/remove/.mcfunction @@ -0,0 +1,5 @@ +#> asset:effect/0377.reactor_criticality/remove/ +# +# Effectが削除された時の処理 +# +# @within function asset:effect/0377.reactor_criticality/_/remove \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/artifact/attack/melee.json b/Asset/data/asset/tags/functions/artifact/attack/melee.json index befbe3d3d1..cde1e2f6dd 100644 --- a/Asset/data/asset/tags/functions/artifact/attack/melee.json +++ b/Asset/data/asset/tags/functions/artifact/attack/melee.json @@ -1,5 +1,6 @@ { "values": [ + "asset:artifact/1581.reactor_plate/trigger/1.trigger", "asset:artifact/1269.apocalypse/trigger/1.trigger", "asset:artifact/1209.sinful_scythe/trigger/1.trigger", "asset:artifact/1282.ice_axe/trigger/1.trigger", @@ -73,4 +74,4 @@ "asset:artifact/0672.aurora_blade/trigger/1.trigger", "asset:artifact/0745.blade_of_whirlwind/trigger/1.trigger" ] -} +} \ No newline at end of file diff --git a/Asset/data/asset/tags/functions/artifact/damage.json b/Asset/data/asset/tags/functions/artifact/damage.json index 380f200051..3d2cee8c6b 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/1581.reactor_plate/damage/1.trigger", "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", diff --git a/Asset/data/asset/tags/functions/artifact/dis_equip.json b/Asset/data/asset/tags/functions/artifact/dis_equip.json index 66024826fc..459ef2827e 100644 --- a/Asset/data/asset/tags/functions/artifact/dis_equip.json +++ b/Asset/data/asset/tags/functions/artifact/dis_equip.json @@ -1,5 +1,6 @@ { "values": [ + "asset:artifact/1581.reactor_plate/damage/dis_equip/", "asset:artifact/1430.shield_of_fate/trigger/dis_equip/", "asset:artifact/0772.dolphin_amulet/trigger/dis_equip/", "asset:artifact/1409.mana_charm/trigger/dis_equip/", diff --git a/Asset/data/asset/tags/functions/artifact/give.json b/Asset/data/asset/tags/functions/artifact/give.json index 5193ff71b2..641779a1d1 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/1581.reactor_plate/give/1.trigger", "asset:artifact/1430.shield_of_fate/give/1.trigger", "asset:artifact/1453.frost_flake_bow/give/1.trigger", "asset:artifact/1534.drop_in_the_bucket/give/1.trigger", diff --git a/Asset/data/asset/tags/functions/artifact/register.json b/Asset/data/asset/tags/functions/artifact/register.json index 7dccc18155..2d5341875e 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/1581.reactor_plate/register", "asset:artifact/1453.frost_flake_bow/register", "asset:artifact/1430.shield_of_fate/register", "asset:artifact/1534.drop_in_the_bucket/register", @@ -317,4 +318,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/end.json b/Asset/data/asset/tags/functions/effect/end.json index b89f262d93..4f94f300c7 100644 --- a/Asset/data/asset/tags/functions/effect/end.json +++ b/Asset/data/asset/tags/functions/effect/end.json @@ -1,5 +1,6 @@ { "values": [ + "asset:effect/0377.reactor_criticality/_/end", "asset:effect/0355.heart_gap/_/end", "asset:effect/0354.protection_of_courage/_/end", "asset:effect/0348.cool_feeling/_/end", @@ -111,4 +112,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 aa7d04f807..90591b6391 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/0377.reactor_criticality/_/given", "asset:effect/0355.heart_gap/_/given", "asset:effect/0354.protection_of_courage/_/given", "asset:effect/0348.cool_feeling/_/given", @@ -105,4 +106,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/re-given.json b/Asset/data/asset/tags/functions/effect/re-given.json index 344d5ff7a5..77ce589717 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/0377.reactor_criticality/_/re-given", "asset:effect/0348.cool_feeling/_/re-given", "asset:effect/0352.kitsunebi/_/re-given", "asset:effect/0345.topaz_protection/_/re-given", @@ -61,4 +62,4 @@ "asset:effect/0007.defense_base_debuff/_/re-given", "asset:effect/0258.spirit_melody/_/re-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 b1c67d7c75..15c8530878 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/0377.reactor_criticality/_/register", "asset:effect/0355.heart_gap/_/register", "asset:effect/0354.protection_of_courage/_/register", "asset:effect/0348.cool_feeling/_/register", @@ -181,4 +182,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 1ca0cbc881..0d7d86d4d9 100644 --- a/Asset/data/asset/tags/functions/effect/remove.json +++ b/Asset/data/asset/tags/functions/effect/remove.json @@ -1,5 +1,6 @@ { "values": [ + "asset:effect/0377.reactor_criticality/_/remove", "asset:effect/0355.heart_gap/_/remove", "asset:effect/0354.protection_of_courage/_/remove", "asset:effect/0348.cool_feeling/_/remove", @@ -119,4 +120,4 @@ "asset:effect/0007.defense_base_debuff/_/remove", "asset:effect/0258.spirit_melody/_/remove" ] -} +} \ No newline at end of file