Skip to content

Commit

Permalink
✨ [神器743] 夕焼けの風の追加
Browse files Browse the repository at this point in the history
  • Loading branch information
haiiro2gou committed Dec 28, 2023
1 parent 11d529a commit da9d8e1
Show file tree
Hide file tree
Showing 14 changed files with 198 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#> asset:artifact/0743.evening_wind/give/1.trigger
#
# 神器の取得処理の呼び出し時に実行されるfunction
#
# @within tag/function asset:artifact/give

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

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

# 神器のID (int) スプレッドシートの値を入れる
data modify storage asset:artifact ID set value 743
# 神器のベースアイテム
data modify storage asset:artifact Item set value "minecraft:stick"
# 神器の名前 (TextComponentString)
data modify storage asset:artifact Name set value '{"text":"夕焼けの風","color":"#FF8000"}'
# 神器の説明文 (TextComponentString[])
data modify storage asset:artifact Lore set value ['[{"text":"火攻撃+15% ","color":"red"},{"text":"移動速度+15%","color":"white"}]','[{"text":"水攻撃-20%","color":"dark_red"}]','[{"text":"黄昏の輝きを秘めた羽。","color":"gray"}]','[{"text":"淡い茜色の光を放っている。","color":"gray"}]']
# 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 "hotbar"
# 神器のトリガー (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 150
# MP必要量 (int) (オプション)
data modify storage asset:artifact MPRequire set value 0
# 神器のクールダウン (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 ["Urban", "Nyaptov", "Rumor"]
# カスタムNBT (NBTCompound) 追加で指定したいNBT (オプション)
# data modify storage asset:artifact CustomNBT set value {}

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

data modify storage asset:artifact RarityRegistry[3] append value 743
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#> asset:artifact/0743.evening_wind/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{hotbar:[743]} run function asset:artifact/0743.evening_wind/trigger/2.check_condition
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#> asset:artifact/0743.evening_wind/trigger/2.check_condition
#
# 神器の発動条件をチェックします
#
# @within function asset:artifact/0743.evening_wind/trigger/1.trigger

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

# 既に装備している場合はCanUsedを削除
execute if entity @s[tag=KN.Modifier] run tag @s remove CanUsed

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

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

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

#particle dust 1 0.373 0.373 1
#particle dust 1 0.635 0 1

# 演出
particle dust_color_transition 1 0.373 0.373 1.6 1 0.635 0 ~ ~1.3 ~ 0.9 0.6 0.9 0 60 normal @a
particle dust_color_transition 1 0.635 0 1.6 1 0.373 0.373 ~ ~1.3 ~ 0.9 0.6 0.9 0 60 normal @a
particle flame ~ ~1.3 ~ 0.9 0.6 0.9 0.12 30 normal @a
playsound block.fire.ambient player @a ~ ~ ~ 0.7 0.7 0
playsound block.fire.ambient player @a ~ ~ ~ 0.7 0.8 0
playsound block.fire.ambient player @a ~ ~ ~ 0.7 0.9 0
playsound block.fire.ambient player @a ~ ~ ~ 0.7 1.1 0
playsound block.lava.extinguish player @a ~ ~ ~ 0.5 0.9

# 火攻撃+15%
data modify storage api: Argument.UUID set value [I;1,1,743,7]
data modify storage api: Argument.Amount set value 0.15
data modify storage api: Argument.Operation set value "multiply_base"
function api:modifier/attack/fire/add

# 移動速度+15%
attribute @s generic.movement_speed modifier add 00000001-0000-0001-0000-02e700000007 "Speed" 0.15 multiply_base

# 水攻撃-25%
data modify storage api: Argument.UUID set value [I;1,1,743,7]
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

# Tag付与
tag @s add KN.Modifier
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#> asset:artifact/0743.evening_wind/trigger/_index.d
# @private

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

execute if data storage asset:context id{hotbar:[743]} run function asset:artifact/0743.evening_wind/trigger/dis_equip/main
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
#> asset:artifact/0743.evening_wind/trigger/dis_equip/main
#
# 装備を外した時のメイン処理
#
# @within function asset:artifact/0743.evening_wind/trigger/dis_equip/

#> prv
# @private
#declare score_holder $ItemCount

# まだ持ってるか確認する
execute store result score $ItemCount Temporary if data storage asset:context New.Items.hotbar[{tag:{TSB:{ID:743}}}]

# なければ削除
execute if score $ItemCount Temporary matches ..0 run function asset:artifact/0743.evening_wind/trigger/dis_equip/remove_modifier

# リセット
scoreboard players reset $ItemCount Temporary
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
#> asset:artifact/0743.evening_wind/trigger/dis_equip/remove_modifier
#
# 補正を削除
#
# @within function asset:artifact/0743.evening_wind/trigger/dis_equip/main

# MP消費
scoreboard players set $Fluctuation Lib -150
data modify storage lib: Argument.DisableLog set value true
function lib:mp/fluctuation

# 火攻撃
data modify storage api: Argument.UUID set value [I;1,1,743,7]
function api:modifier/attack/fire/remove

# 移動速度
attribute @s generic.movement_speed modifier remove 00000001-0000-0001-0000-02e700000007

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

# Tag付与
tag @s remove KN.Modifier
1 change: 1 addition & 0 deletions Asset/data/asset/tags/functions/artifact/dis_equip.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"values": [
"asset:artifact/0743.evening_wind/trigger/dis_equip/",
"asset:artifact/0740.flower_of_hazy_moon/trigger/dis_equip/",
"asset:artifact/0775.jade_armor/trigger/dis_equip/",
"asset:artifact/0778.jade_armor/trigger/dis_equip/",
Expand Down
1 change: 1 addition & 0 deletions Asset/data/asset/tags/functions/artifact/equip.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"values": [
"asset:artifact/0743.evening_wind/trigger/1.trigger",
"asset:artifact/0740.flower_of_hazy_moon/trigger/1.trigger",
"asset:artifact/0775.jade_armor/trigger/1.trigger",
"asset:artifact/0778.jade_armor/trigger/1.trigger",
Expand Down
1 change: 1 addition & 0 deletions Asset/data/asset/tags/functions/artifact/give.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"values": [
"asset:artifact/0743.evening_wind/give/1.trigger",
"asset:artifact/0740.flower_of_hazy_moon/give/1.trigger",
"asset:artifact/0738.voltage_striker/give/1.trigger",
"asset:artifact/0737.summer_festival_of_remembrance/give/1.trigger",
Expand Down
1 change: 1 addition & 0 deletions Asset/data/asset/tags/functions/artifact/register.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"values": [
"asset:artifact/0743.evening_wind/register",
"asset:artifact/0740.flower_of_hazy_moon/register",
"asset:artifact/0738.voltage_striker/register",
"asset:artifact/0737.summer_festival_of_remembrance/register",
Expand Down

0 comments on commit da9d8e1

Please sign in to comment.