Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#> makeup:skill/act/white_mage/araise/act0
#
# リレイズ効果付与演出
execute as @a[distance=..10] run tellraw @a [{"translate":"%1$sに%2$sの効果!","color":"green","with":[{"selector":"@s"},{"translate":"リレイズ","color":"white","hoverEvent":{"action":"show_text","value":{"translate":"死亡時にレイズの効果を得る。","color":"white"}}}]}]
summon minecraft:area_effect_cloud ~ ~ ~ {Particle:{type:entity_effect,color:[1.00,0.97,0.00,1.00]},ReapplicationDelay:40,Radius:1f,RadiusPerTick:0.05f,Duration:50}
particle minecraft:end_rod ~ ~1.5 ~ 0.2 1.5 0.2 0 100 force
particle minecraft:end_rod ~ ~3 ~ 1 0.2 0 0 50 force
particle minecraft:end_rod ~ ~3 ~ 0 0.2 1 0 50 force
playsound minecraft:entity.firework_rocket.launch player @a[distance=..16] ~ ~ ~ 1 2
playsound minecraft:entity.player.levelup player @a[distance=..16] ~ ~ ~ 1 0.7
playsound minecraft:entity.player.levelup player @a[distance=..16] ~ ~ ~ 1 1.6
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
#> makeup:skill/act/white_mage/araise/error
#
# アレイズボス戦中エラー
tellraw @s [{"translate":"強大な力で%1$sの付与を阻止された!","color": "red","with":[{"translate":"リレイズ","color":"white","hoverEvent":{"action":"show_text","value":{"translate":"死亡時にレイズの効果を得る。","color":"white"}}}]}]
playsound block.dispenser.fail player @s ~ ~ ~ 1 1.2
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
#> makeup:skill/act/white_mage/araise/raise
#
# レイズ死亡演出
tellraw @a [{"translate":"%1$sに%2$sの効果!","color":"green","with":[{"selector":"@s"},{"translate":"レイズ","color":"white","hoverEvent":{"action":"show_text","value":{"translate":"リスポーン時に死亡した場所に復活する。","color":"white"}}}]}]
playsound minecraft:entity.wither.death player @a[distance=..16] ~ ~ ~ 0.4 2
playsound minecraft:block.beacon.ambient player @a[distance=..16] ~ ~ ~ 1 1
playsound minecraft:block.beacon.ambient player @a[distance=..16] ~ ~ ~ 1 2
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
#> makeup:skill/act/white_mage/araise/raised
#
# レイズ復活演出
execute positioned as @s run playsound minecraft:ui.toast.challenge_complete player @a[distance=..16] ~ ~ ~ 1 1.5
execute positioned as @s run playsound minecraft:entity.firework_rocket.launch player @a[distance=..16] ~ ~ ~ 1 2
execute positioned as @s rotated ~ 0 run summon minecraft:item ^ ^7 ^1 {NoGravity:true,Motion:[0d,-0.15d,0d],Item:{id:"minecraft:feather",count:1b,components:{enchantment_glint_override:true,custom_data:{NoHold:1b}}},Age:5900,PickupDelay:32767}
execute positioned as @s run particle minecraft:totem_of_undying ~ ~7 ~ 1 1 1 0 50 force
execute positioned as @s run particle minecraft:instant_effect ~ ~0.5 ~ 0 0 0 0.5 100 force
execute positioned as @s run summon minecraft:area_effect_cloud ~ ~ ~ {Particle:{type:"minecraft:heart"},ReapplicationDelay:40,Radius:4.5f,RadiusPerTick:-0.06f,Duration:60}
execute positioned as @s run summon minecraft:area_effect_cloud ~ ~ ~ {Particle:{type:"minecraft:entity_effect",color:[1.00,0.97,0.00,1.00]},ReapplicationDelay:40,Radius:1f,RadiusPerTick:0.04f,Duration:75}
execute positioned as @s run summon minecraft:area_effect_cloud ~ ~0.1 ~ {Particle:{type:"minecraft:happy_villager"},ReapplicationDelay:40,Radius:1f,RadiusPerTick:0.04f,Duration:60}
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#> makeup:skill/act/white_mage/araise/tick
#
# レイズポイント演出
particle minecraft:firework ~ ~3 ~ 0.3 0 0.3 0 5 force @a[tag=ShowParticles]
16 changes: 16 additions & 0 deletions data/skill/function/act/white_mage/araise/act0.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
#> skill:act/white_mage/araise/act0
#
# アレイズ発動

# ボス戦中なら失敗
execute if data storage main: {bossfight:1b} run return run function makeup:skill/act/white_mage/araise/error

# Lv2ならMPを全回復
execute if score _ Level matches 2 as @a[scores={Age=0}] if entity @s[distance=..10] at @s run scoreboard players operation @s MP = @s MPMax

execute as @a[scores={Age=0}] if entity @s[distance=..10] at @s run tag @s add Raise
execute as @a[scores={Age=0}] if entity @s[distance=..10] at @s run function skill:act/white_mage/araise/raise
tag @a[distance=..10,scores={Age=1..}] add Reraise

# 演出
function makeup:skill/act/white_mage/araise/act0
22 changes: 22 additions & 0 deletions data/skill/function/act/white_mage/araise/raise.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#> skill:act/white_mage/araise/raise
#
# レイズ発動

# アイテム散らばり防止
tp @e[distance=..10,type=minecraft:item,nbt={Age:0s}] ~ ~ ~
execute as @e[distance=..10,type=minecraft:item,nbt={Age:0s}] run data merge entity @s {Invulnerable:true,Age:-6000s,PickupDelay:0s,Motion:[0d,0d,0d]}

# 現在の位置保存
function #oh_my_dat:please
data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Raise.Pos set from entity @s Pos
data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Raise.Rotation set from entity @s Rotation
data modify storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Raise.Dimension set from entity @s Dimension

# 演出用エンティティ召喚
summon armor_stand ~ ~ ~ {Tags:[TickingRequired,NativeTask,Skill,RaisePoint],PortalCooldown:3600,Small:true,Invulnerable:true,Invisible:true}

# 描画防止用暗闇
effect give @s minecraft:blindness infinite 127 true

# 演出
function makeup:skill/act/white_mage/araise/raise
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#> skill:act/white_mage/araise/raise_check
#
# レイズ発動チェック

# 蘇生先tp位置呼び出し
function #oh_my_dat:please
data modify storage tusb_player: Raise set from storage oh_my_dat: _[-4][-4][-4][-4][-4][-4][-4][-4].Raise

# 奈落(y<-50)の場合、復活不可能
execute store result score _ _ run data get storage tusb_player: Raise.Pos[1] 100
execute unless score _ _ matches -5000.. run tellraw @s [{"translate":"帰還地点は消滅していた…。","color": "yellow"}]

# 奈落かつスポーンポイントが無いならば初期地点へテレポートする
execute unless score _ _ matches -5000.. unless data entity @s SpawnForced run function player:rise/none_spawn_point

# タグ削除
tag @s remove Raise
17 changes: 17 additions & 0 deletions data/skill/function/act/white_mage/araise/raised.mcfunction
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
#> skill:act/white_mage/araise/raised
#
# レイズリスポーン発動

# AnywhereTeleportの代替処理を使用
# # この後座標は移動後のものにするので、今後は全て at @s
data modify storage anywhere: at set from storage tusb_player: Raise
data modify storage anywhere: function set value "skill:act/hunter/radar_vision/return1"
function #anywhere:run

# 復活酔いを付与
#function effect:revival_sickness/apply

execute at @s run kill @e[tag=RaisePoint,limit=1,sort=nearest]

# 演出
execute at @s run function makeup:skill/act/white_mage/araise/raised
2 changes: 2 additions & 0 deletions data/skill/function/native_tick.mcfunction
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,8 @@ execute if entity @s[tag=KasapTrap] run function skill:act/hunter/kasap_trap/tic
execute if entity @s[tag=DecelerateTrap] run function skill:act/hunter/decelerate_trap/tick

## 白魔導士
# レイズ
execute if entity @s[tag=RaisePoint] run function makeup:skill/act/white_mage/araise/tick
# ヘイローバウンド
execute if entity @s[tag=HaloBound] run function skill:act/white_mage/halo_bound/tick

Expand Down
Loading