Skip to content

Commit

Permalink
✨ [神器724-727] 忘却の白雪装備の追加
Browse files Browse the repository at this point in the history
  • Loading branch information
haiiro2gou committed Dec 28, 2023
1 parent b2fb054 commit fb79803
Show file tree
Hide file tree
Showing 48 changed files with 856 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#> asset:artifact/0724.oblivious_snow/give/1.trigger
#
# 神器の取得処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:artifact/give

execute if data storage asset:context {id:724} run function asset:artifact/0724.oblivious_snow/give/2.give
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
#> asset:artifact/0724.oblivious_snow/give/2.give
#
# 神器の作成部 ここでID等を定義する
#
# @user
# @within function asset:artifact/0724.oblivious_snow/give/1.trigger

# 神器の説明や消費MPなどをここで設定する。
# 最後にasset:artifact/common/giveを実行することで入手可能。

# 神器のID (int) スプレッドシートの値を入れる
data modify storage asset:artifact ID set value 724
# 神器のベースアイテム
data modify storage asset:artifact Item set value "minecraft:leather_helmet"
# 神器の名前 (TextComponentString)
data modify storage asset:artifact Name set value '{"text":"深雪に埋もれた記憶","color":"#ABF4FF"}'
# 神器の説明文 (TextComponentString[])
data modify storage asset:artifact Lore set value ['[{"text":"水耐性+10% 水攻撃+10% ","color":"aqua"}]','[{"text":"MP回復量+8% ","color":"green"},{"text":"被回復量-15%","color":"dark_red"}]','[{"text":"「ある者が故郷を目指し深雪の地を歩いていた。","color":"gray","italic":"true"}]','[{"text":" けれど記憶にあった地には故郷はなかった。」","color":"gray","italic":"true"}]']
# MP以外の消費物 (TextComponentString) (オプション)
# data modify storage asset:artifact CostText set value
# 使用回数 (int) (オプション)
# data modify storage asset:artifact RemainingCount set value
# 神器を発動できるスロット (string) Wikiを参照
data modify storage asset:artifact Slot set value "head"
# 神器のトリガー (string) Wikiを参照
data modify storage asset:artifact Trigger set value "equipping"
# 神器の発動条件 (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
# 神器のクールダウン (int) (オプション)
# data modify storage asset:artifact LocalCooldown 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
# 扱える神 (string[]) Wikiを参照
data modify storage asset:artifact CanUsedGod set value ["Flora", "Wi-ki", "Rumor"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
data modify storage asset:artifact CustomNBT set value {HideFlags:68,display:{color:12910587},Unbreakable:1b,AttributeModifiers:[{AttributeName:"generic.armor",Name:"generic.armor",Amount:5,Operation:0,UUID:[I;1,1,724,6],Slot:"head"},{AttributeName:"generic.armor_toughness",Name:"generic.armor_toughness",Amount:2.5,Operation:0,UUID:[I;1,1,724,6],Slot:"head"}]}

# 神器の入手用function
function asset:artifact/common/give
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#> asset:artifact/0724.oblivious_snow/register
#
# 神器プールへの登録処理
#
# @within tag/function asset:artifact/register

data modify storage asset:artifact RarityRegistry[4] append value 724
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
#> asset:artifact/0724.oblivious_snow/trigger/0.load
#
# 神器に利用するスコアボード等の初期化処理
#
# @within tag/function asset:artifact/load

#> 定義類はここに
# @within function asset:artifact/0724.oblivious_snow/trigger/**
scoreboard objectives add K4.AttackCD dummy
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#> asset:artifact/0724.oblivious_snow/trigger/1.trigger
#
# 指定したイベントタイミングで実行されるfunction
#
# @within tag/function asset:artifact/**

# storage asset:idのheadに装備している神器のIDが入っているので比較し、~/2.check_condition.mcfunctionを実行する
execute if data storage asset:context id{head:724} run function asset:artifact/0724.oblivious_snow/trigger/2.check_condition
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#> asset:artifact/0724.oblivious_snow/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/0724.oblivious_snow/trigger/1.trigger

# 神器の基本的な条件の確認を行うfunction、成功している場合CanUsedタグが付く
function asset:artifact/common/check_condition/head
# 他にアイテム等確認する場合はここに書く

# CanUsedタグをチェックして3.main.mcfunctionを実行する
execute if entity @s[tag=CanUsed] run function asset:artifact/0724.oblivious_snow/trigger/3.main
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
#> asset:artifact/0724.oblivious_snow/trigger/3.main
#
# 神器のメイン処理部
#
# @within function asset:artifact/0724.oblivious_snow/trigger/2.check_condition

# 基本的な使用時の処理(MP消費や使用回数の処理など)を行う
function asset:artifact/common/use/head

# ここから先は神器側の効果の処理を書く

# メモ 水耐性10% 水攻撃+10% mp回復+8% 被回復量-15%

# 演出
execute unless data storage asset:context id.all{head:724,chest:725,legs:726,feet:727} run particle snowflake ~ ~1.7 ~ 0.4 0.1 0.4 0.1 50 normal @a
execute unless data storage asset:context id.all{head:724,chest:725,legs:726,feet:727} run playsound minecraft:block.powder_snow.step player @a ~ ~ ~ 1 0.5 0
execute unless data storage asset:context id.all{head:724,chest:725,legs:726,feet:727} run playsound minecraft:block.powder_snow.step player @a ~ ~ ~ 1 0 0

# 水耐性+10%
data modify storage api: Argument.UUID set value [I;1,1,724,6]
data modify storage api: Argument.Amount set value 0.1
data modify storage api: Argument.Operation set value "multiply_base"
function api:modifier/defense/water/add

# 水攻撃+10%
data modify storage api: Argument.UUID set value [I;1,1,724,6]
data modify storage api: Argument.Amount set value 0.1
data modify storage api: Argument.Operation set value "multiply_base"
function api:modifier/attack/water/add

# mp回復+8%
data modify storage api: Argument.UUID set value [I;1,1,724,6]
data modify storage api: Argument.Amount set value 0.08
data modify storage api: Argument.Operation set value "multiply_base"
function api:modifier/mp_regen/add

# 被回復量-15%
data modify storage api: Argument.UUID set value [I;1,1,724,6]
data modify storage api: Argument.Amount set value -0.15
data modify storage api: Argument.Operation set value "multiply_base"
function api:modifier/receive_heal/add

# フルセット
execute if data storage asset:context id.all{head:724,chest:725,legs:726,feet:727} run function asset:artifact/0724.oblivious_snow/trigger/fullset/equip
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#> asset:artifact/0724.oblivious_snow/trigger/_index.d
# @private

#> tag
# @within function
# asset:artifact/0724.oblivious_snow/trigger/**
# asset:artifact/0724.oblivious_snow/trigger/dis_equip/main
# asset:artifact/0725.oblivious_snow/trigger/dis_equip/main
# asset:artifact/0726.oblivious_snow/trigger/dis_equip/main
# asset:artifact/0727.oblivious_snow/trigger/dis_equip/main
#declare tag K4.Fullset
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#> asset:artifact/0724.oblivious_snow/trigger/dis_equip/
#
# 装備を外した時に外した部位にのみのidが入った状態でトリガーされる
#
# @within tag/function asset:artifact/dis_equip

execute if data storage asset:context id{head:724} run function asset:artifact/0724.oblivious_snow/trigger/dis_equip/main
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
#> asset:artifact/0724.oblivious_snow/trigger/dis_equip/main
#
# 装備を外した時のメイン処理
#
# @within function asset:artifact/0724.oblivious_snow/trigger/dis_equip/

# 演出
particle snowflake ~ ~1.7 ~ 0.4 0.1 0.4 0 50 normal @a
playsound minecraft:block.powder_snow.step player @a ~ ~ ~ 1 0.5 0

# 水耐性
data modify storage api: Argument.UUID set value [I;1,1,724,6]
function api:modifier/defense/water/remove

# 水攻撃
data modify storage api: Argument.UUID set value [I;1,1,724,6]
function api:modifier/attack/water/remove

# mp回復
data modify storage api: Argument.UUID set value [I;1,1,724,6]
function api:modifier/mp_regen/remove

# 被回復量
data modify storage api: Argument.UUID set value [I;1,1,724,6]
function api:modifier/receive_heal/remove

# フルセット解除
execute if entity @s[tag=K4.Fullset] run function asset:artifact/0724.oblivious_snow/trigger/fullset/dis_equip
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#> asset:artifact/0724.oblivious_snow/trigger/fullset/attack
#
# 攻撃
#
# @within function asset:artifact/0724.oblivious_snow/trigger/fullset/trigger

# 演出
execute at @e[type=#lib:living,type=!player,tag=Victim,distance=..64] run particle snowflake ~ ~1.2 ~ 0.5 0.5 0.5 0.1 100 normal @a
execute at @e[type=#lib:living,type=!player,tag=Victim,distance=..64] run playsound minecraft:block.powder_snow.step player @a ~ ~ ~ 1 0.5 0
execute at @e[type=#lib:living,type=!player,tag=Victim,distance=..64] run playsound minecraft:block.powder_snow.step player @a ~ ~ ~ 1 0.25 0

# CDスコアをセット
scoreboard players set @s K4.AttackCD 20

# ダメージ設定
data modify storage lib: Argument.Damage set value 70.0f
data modify storage lib: Argument.AttackType set value "Physical"
data modify storage lib: Argument.ElementType set value "Water"
function lib:damage/modifier
execute as @e[type=#lib:living,type=!player,tag=Victim,distance=..64] run function lib:damage/
# リセット
function lib:damage/reset
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#> asset:artifact/0724.oblivious_snow/trigger/fullset/dis_equip
#
# フルセット解除処理
#
# @within function
# asset:artifact/0724.oblivious_snow/trigger/dis_equip/main
# asset:artifact/0725.oblivious_snow/trigger/dis_equip/main
# asset:artifact/0726.oblivious_snow/trigger/dis_equip/main
# asset:artifact/0727.oblivious_snow/trigger/dis_equip/main

# Tag削除
tag @s remove K4.Fullset

# スコアリセット
scoreboard players reset @s K4.AttackCD

# 水攻撃
data modify storage api: Argument.UUID set value [I;1,1,724,0]
function api:modifier/attack/water/remove

# mp回復
data modify storage api: Argument.UUID set value [I;1,1,724,0]
function api:modifier/mp_regen/remove

# 被回復量
data modify storage api: Argument.UUID set value [I;1,1,724,0]
function api:modifier/receive_heal/remove
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
#> asset:artifact/0724.oblivious_snow/trigger/fullset/equip
#
# フルセット時の処理
#
# @within function
# asset:artifact/0724.oblivious_snow/trigger/3.main
# asset:artifact/0725.oblivious_snow/trigger/3.main
# asset:artifact/0726.oblivious_snow/trigger/3.main
# asset:artifact/0727.oblivious_snow/trigger/3.main

# 演出
particle snowflake ~ ~1.2 ~ 1 0.6 1 0.2 250 normal @a
particle snowflake ~ ~1.2 ~ 1 0.6 1 0.4 250 normal @a
playsound minecraft:block.powder_snow.step player @a ~ ~ ~ 1 0.5 0
playsound minecraft:block.powder_snow.step player @a ~ ~ ~ 1 0.0 0
playsound ogg:mob.vex.death2 player @a ~ ~ ~ 0.5 0.4
playsound ogg:mob.vex.idle3 player @a ~ ~ ~ 0.5 0.2

# フルセットTag
tag @s add K4.Fullset

# 水攻撃+25%
data modify storage api: Argument.UUID set value [I;1,1,724,0]
data modify storage api: Argument.Amount set value 0.25
data modify storage api: Argument.Operation set value "multiply_base"
function api:modifier/attack/water/add

# mp回復+8%
data modify storage api: Argument.UUID set value [I;1,1,724,0]
data modify storage api: Argument.Amount set value 0.08
data modify storage api: Argument.Operation set value "multiply_base"
function api:modifier/mp_regen/add

# 被回復量-15%
data modify storage api: Argument.UUID set value [I;1,1,724,0]
data modify storage api: Argument.Amount set value -0.15
data modify storage api: Argument.Operation set value "multiply_base"
function api:modifier/receive_heal/add

# ループ開始
schedule function asset:artifact/0724.oblivious_snow/trigger/fullset/loop 1t replace
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#> asset:artifact/0724.oblivious_snow/trigger/fullset/loop
#
# ループ処理
#
# @within function
# asset:artifact/0724.oblivious_snow/trigger/fullset/equip
# asset:artifact/0724.oblivious_snow/trigger/fullset/main
# asset:artifact/0724.oblivious_snow/trigger/rejoin_process

# ループ
execute as @a[tag=K4.Fullset] at @s run function asset:artifact/0724.oblivious_snow/trigger/fullset/main
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#> asset:artifact/0724.oblivious_snow/trigger/fullset/main
#
# メイン処理
#
# @within function asset:artifact/0724.oblivious_snow/trigger/fullset/loop

# 演出
particle snowflake ~ ~4 ~ 1.8 0.25 1.8 0.0 9 normal @a[distance=..16]
particle snowflake ~ ~0.3 ~ 1.5 0.1 1.5 0.1 2 normal @a[distance=..16]

# 周囲に鈍足を付与
effect give @e[type=#lib:living,tag=Enemy,tag=!Enemy.Boss,distance=..3.5] slowness 1 0 true

# 攻撃CD処理
execute if entity @s[scores={K4.AttackCD=1..}] run scoreboard players remove @s K4.AttackCD 1
execute if entity @s[scores={K4.AttackCD=..0}] run scoreboard players reset @s K4.AttackCD

# ループ処理
schedule function asset:artifact/0724.oblivious_snow/trigger/fullset/loop 1t replace
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#> asset:artifact/0724.oblivious_snow/trigger/fullset/trigger
#
# 攻撃処理を行う際に使用可能かをチェック
#
# @within tag/function asset:artifact/attack

execute if entity @s[tag=K4.Fullset] unless score @s K4.AttackCD matches 1.. run function asset:artifact/0724.oblivious_snow/trigger/fullset/attack
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#> asset:artifact/0724.oblivious_snow/trigger/rejoin_process
#
# 使い方は必ずwikiを見ること
#
# @within tag/function asset:rejoin

# ループ再開
execute if entity @a[tag=K4.Fullset] run schedule function asset:artifact/0724.oblivious_snow/trigger/fullset/loop 1t replace
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#> asset:artifact/0725.oblivious_snow/give/1.trigger
#
# 神器の取得処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:artifact/give

execute if data storage asset:context {id:725} run function asset:artifact/0725.oblivious_snow/give/2.give
Loading

0 comments on commit fb79803

Please sign in to comment.