Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

【モブID55】ヘトゥケダゥのリメイク #1426

Open
wants to merge 27 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
cabb6b1
ヘトゥビームのビジュアルを細くした
Chuzume Aug 23, 2023
ef29f01
ニューおててビームを作成
Chuzume Aug 24, 2023
324ee84
突進&爆発スキルを追加
Chuzume Aug 24, 2023
7b95ed0
おててビームの予備動作を変更
Chuzume Aug 24, 2023
1fad07f
旧スキルデータを削除
Chuzume Aug 24, 2023
76cf0a0
数回に一回召喚技を使ってくるように
Chuzume Aug 24, 2023
3d0695f
旧おててビーム削除
Chuzume Aug 25, 2023
d07197f
爆破にブロック破壊属性追加
Chuzume Aug 25, 2023
3b4af13
火炎放射攻撃を作った
Chuzume Aug 25, 2023
83d4367
火炎放射の予備動作をちょっと変えた
Chuzume Aug 26, 2023
790eff6
突進攻撃つくった
Chuzume Aug 26, 2023
21fb6a4
ビームのダメージ調整
Chuzume Aug 26, 2023
0332912
死亡時とダメージ時のサウンド調整
Chuzume Aug 26, 2023
8b09b67
突進攻撃にループ処理追加
Chuzume Aug 26, 2023
cca4f5d
各技にハード仕様を搭載した
Chuzume Aug 26, 2023
0aa1612
火炎放射の後隙を調整
Chuzume Aug 26, 2023
908ebe9
召喚するモブを変更
Chuzume Aug 26, 2023
a5ea325
ハードモードだと足が早くなるように
Chuzume Aug 26, 2023
70ce6bd
召喚技をハード限定に
Chuzume Aug 26, 2023
6c8b347
ハードの爆発攻撃は繊細な回避が必要になった
Chuzume Aug 26, 2023
c625255
ハードのおててビームはめっちゃ連射するようになった
Chuzume Aug 26, 2023
96b9bf5
召喚処理をちょっと調整
Chuzume Aug 26, 2023
761df3f
ハード突進があまりにも避けれないので調整
Chuzume Aug 26, 2023
8656416
召喚時にイントロ出すようになった
Chuzume Aug 26, 2023
de86eb8
各技の予備動作をちょっと目立つようにした
Chuzume Aug 26, 2023
8f909a2
爆裂技の警告の色を白くした
Chuzume Aug 31, 2023
7e10884
旧Tickを消すのを忘れていた
Chuzume Aug 31, 2023
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
Expand Up @@ -6,4 +6,6 @@

#> 定義類はここに
# @within function asset:mob/0055.hetukedah/**
scoreboard objectives add 1J.BossTime dummy
scoreboard objectives add 1J.Tick dummy
scoreboard objectives add 1J.MoveCount dummy
scoreboard objectives add 1J.LoopCount dummy
Original file line number Diff line number Diff line change
Expand Up @@ -5,3 +5,11 @@
# @within function asset:mob/0055.hetukedah/**/**
#declare tag Landing
#declare tag LandingTarget
#declare tag 1J.Skill.OteteBeam
#declare tag 1J.Skill.Explosion
#declare tag 1J.Skill.Summon
#declare tag 1J.Skill.FlameThrower
#declare tag 1J.Skill.Charge
#declare tag 1J.Turn.Left
#declare tag 1J.Turn.Right
#declare tag 1J.InAction
Original file line number Diff line number Diff line change
Expand Up @@ -7,4 +7,4 @@
# 演出
particle minecraft:explosion_emitter ~ ~ ~ 0 0 0 0 1 normal
playsound entity.generic.explode hostile @a ~ ~ ~ 1 1
playsound entity.ravager.death hostile @a ~ ~ ~ 1 0.5
playsound entity.ravager.death hostile @a ~ ~ ~ 1 2
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,9 @@
# @within function asset:mob/0055.hetukedah/hurt/1.trigger

# 演出
playsound entity.ravager.hurt hostile @a ~ ~ ~ 1 0.7
particle block redstone_block ~ ~1.3 ~ 0 0 0 1 20
playsound entity.ravager.hurt hostile @a ~ ~ ~ 1 1.5
particle minecraft:dust 1 0 1 2 ~ ~1.3 ~ 0.5 0.5 0.5 0 10 force @a[distance=..30]
particle minecraft:dust 0.5 0 0.5 2 ~ ~1.3 ~ 0.8 0.8 0.8 0 5 force @a[distance=..30]

# HPチェック

Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
# @within function asset:mob/0055.hetukedah/summon/1.trigger

# 元となるMobを召喚する
summon zombie ~ ~ ~ {Silent:1b,Tags:["MobInit","AlwaysInvisible","AntiVoid"],DeathLootTable:"asset:mob/death/0055.hetukedah"}
summon zombie ~ ~ ~ {Silent:1b,Tags:["MobInit","AlwaysInvisible","AlwaysSlowFall","AntiVoid"],DeathLootTable:"asset:mob/death/0055.hetukedah"}
# ID (int)
data modify storage asset:mob ID set value 55
# Type (string) Wikiを参照
Expand All @@ -24,24 +24,13 @@
# 防具
# 頭 (Compound(Item)) (オプション)
data modify storage asset:mob Armor.Head set value {id:"minecraft:stick",Count:1b,tag:{CustomModelData:20015}}
# 胴 (Compound(Item)) (オプション)
# data modify storage asset:mob Armor.Chest set value
# 脚 (Compound(Item)) (オプション)
# data modify storage asset:mob Armor.Legs set value
# 足 (Compound(Item)) (オプション)
# data modify storage asset:mob Armor.Feet set value
# 防具ドロップ率 ([float, float]) (オプション)
# data modify storage asset:mob ArmorDropChances set value
# 体力 (double) (オプション)
data modify storage asset:mob Health set value 3100
# 攻撃力 (double) (オプション)
data modify storage asset:mob AttackDamage set value 10
# 防御力 (double) (オプション) // 被ダメージがある程度大きい場合1ptにつき0.8%カット、小さい場合1ptにつき約4%カット 20pt以上は頭打ち
#data modify storage asset:mob Defense set value 0
# 特殊防御力 (double) (オプション) // 4pointにつきダメージを大きく減らす
#data modify storage asset:mob SpecialDefense set value 0
# 移動速度 (double) (オプション)
data modify storage asset:mob Speed set value 0.2
# 移動速度、ハードかどうかによってちょっと変わる
execute unless predicate api:global_vars/difficulty/min/hard run data modify storage asset:mob Speed set value 0.2
execute if predicate api:global_vars/difficulty/min/hard run data modify storage asset:mob Speed set value 0.25
# 索敵範囲 (double) (オプション)
data modify storage asset:mob FollowRange set value 32
# ノックバック耐性 (double) (オプション)
Expand All @@ -58,5 +47,11 @@
# 雷倍率 (float) (オプション)
data modify storage asset:mob Resist.Thunder set value 1.0

# スコアをセットする
scoreboard players set @e[type=zombie,tag=MobInit,distance=..0.01] 1J.Tick -60

# 最初は鈍足をつけておく
effect give @e[type=zombie,tag=MobInit,distance=..0.01] slowness 4 10 true

# MobInitタグ持ちを対象にして召喚関数呼び出し
execute as @e[type=zombie,tag=MobInit,distance=..0.01] run function asset:mob/common/summon
Original file line number Diff line number Diff line change
Expand Up @@ -4,17 +4,21 @@
#
# @within function asset:mob/0055.hetukedah/tick/1.trigger

# スコア付与
scoreboard players add @s 1J.BossTime 1
# 移動
#execute facing entity @p feet positioned ^ ^ ^-100 rotated as @s positioned ^ ^ ^-800 facing entity @s eyes positioned as @s run tp @s ^ ^ ^0.2 ~ ~

# 冒頭の動作
execute if score @s[tag=!1J.InAction] 1J.Tick matches -30 run function asset:mob/0055.hetukedah/tick/title

# 一定のスコアになったら実行(スキル発動の予兆)
execute if score @s 1J.BossTime matches 120.. run particle dragon_breath ~ ~0.5 ~ 2 0 2 0 10
execute if score @s 1J.BossTime matches 120 run playsound entity.ravager.death hostile @a ~ ~ ~ 1 2
execute if score @s 1J.BossTime matches 120 run data merge entity @s {NoAI:1b}
# スコア付与
scoreboard players add @s 1J.Tick 1

# スキル発動
execute if score @s 1J.BossTime matches 140 run function asset:mob/0055.hetukedah/tick/3.skill
execute if score @s[tag=!1J.InAction] 1J.Tick matches 60 run function asset:mob/0055.hetukedah/tick/skill_select

# スキルアクティブ
execute if entity @s[tag=1J.InAction] run function asset:mob/0055.hetukedah/tick/skill_active

# 演出
particle dripping_obsidian_tear ~ ~1 ~ 0.4 0.4 0.4 1 1 normal
particle portal ~ ~1 ~ 0.4 0.4 0.4 1 3 normal
execute positioned ~ ~1 ~ run particle minecraft:dust 1 0 1 0.5 ^ ^ ^ 0.15 0.15 0.15 0 30 force @a[distance=..30]
execute positioned ~ ~1 ~ run particle minecraft:dust 0.5 0 0.5 0.5 ^ ^ ^ 0.08 0.08 0.08 0 10 force @a[distance=..30]

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
#> asset:mob/0055.hetukedah/tick/reset
#
# リセット処理
#
# @within function asset:mob/0055.hetukedah/tick/skill/**

# タグリセット
tag @s remove 1J.Skill.OteteBeam
tag @s remove 1J.Skill.Explosion
tag @s remove 1J.Skill.Summon
tag @s remove 1J.Skill.Charge
tag @s remove 1J.Skill.FlameThrower

tag @s remove 1J.InAction
tag @s remove 1J.Turn.Left
tag @s remove 1J.Turn.Right

# スコアリセット
scoreboard players reset @s 1J.Tick
scoreboard players reset @s 1J.LoopCount

# NoAI解除
data merge entity @s {NoAI:0b}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#> asset:mob/0055.hetukedah/tick/skill/charge/break_block
#
#
#
# @within function asset:mob/0055.hetukedah/tick/skill/charge/move_forward

#
execute positioned ^ ^ ^ unless block ~ ~ ~ #lib:unbreakable run setblock ~ ~ ~ air destroy
execute positioned ^ ^1 ^ unless block ~ ~ ~ #lib:unbreakable run setblock ~ ~ ~ air destroy

execute positioned ^1 ^ ^ unless block ~ ~ ~ #lib:unbreakable run setblock ~ ~ ~ air destroy
execute positioned ^1 ^1 ^ unless block ~ ~ ~ #lib:unbreakable run setblock ~ ~ ~ air destroy

execute positioned ^-1 ^ ^ unless block ~ ~ ~ #lib:unbreakable run setblock ~ ~ ~ air destroy
execute positioned ^-1 ^1 ^ unless block ~ ~ ~ #lib:unbreakable run setblock ~ ~ ~ air destroy
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#> asset:mob/0055.hetukedah/tick/skill/charge/end
#
#
#
# @within function asset:mob/0055.hetukedah/tick/skill/charge/tick

# 演出
particle minecraft:explosion ~ ~1 ~ 0 0 0 0 0 force @a[distance=..30]
particle minecraft:end_rod ~ ~1 ~ 0.5 0.5 0.5 0.2 25 force @a[distance=..30]
playsound minecraft:item.trident.riptide_3 hostile @a ~ ~ ~ 2 1.5
playsound minecraft:entity.ravager.roar hostile @a ~ ~ ~ 1.5 2

# ループカウント加算
scoreboard players add @s 1J.LoopCount 1
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#> asset:mob/0055.hetukedah/tick/skill/charge/hit
#
#
#
# @within function asset:mob/0055.hetukedah/tick/skill/charge/move_forward

# ダメージ設定
# 与えるダメージ
data modify storage lib: Argument.Damage set value 8.0f
# 魔法属性
data modify storage lib: Argument.AttackType set value "Magic"
# 雷属性
data modify storage lib: Argument.ElementType set value "Thunder"
# ダメージ
function api:data_get/hurt_time
function lib:damage/modifier
execute if data storage api: {HurtTime:0s} run function lib:damage/
# リセット
function lib:damage/reset
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
#> asset:mob/0055.hetukedah/tick/skill/charge/move_forward
#
#
#
# @within function asset:mob/0055.hetukedah/tick/skill/charge/tick

#> インターバルのスコアホルダー
# @private
# declare score_holder $SoundInterval

# 実行時間を移す
scoreboard players operation $SoundInterval Temporary = @s 1J.Tick

# 数Tickごとにサウンド
scoreboard players operation $SoundInterval Temporary %= $2 Const
execute if score $SoundInterval Temporary matches 0 run playsound minecraft:entity.wither.shoot hostile @a ~ ~ ~ 1 2
execute if score $SoundInterval Temporary matches 0 run playsound minecraft:entity.firework_rocket.twinkle hostile @a ~ ~ ~ 1 2

# 演出
execute positioned ~ ~1.6 ~ run particle minecraft:dust 1 1 0 1 ^ ^ ^ 0.5 0.5 0.5 0 15 force @a[distance=..30]
execute positioned ~ ~1.6 ~ run particle minecraft:electric_spark ^ ^ ^ 0.5 0.5 0.5 0 15 force @a[distance=..30]

# ダメージ
execute as @a[tag=!PlayerShouldInvulnerable,distance=..2] run function asset:mob/0055.hetukedah/tick/skill/charge/hit

# ハードでは壁を破壊
execute if predicate api:global_vars/difficulty/min/hard rotated ~ 0 positioned ^ ^ ^1 run function asset:mob/0055.hetukedah/tick/skill/charge/break_block

# 壁があったら終了
execute unless block ^ ^ ^1 #lib:no_collision run scoreboard players set @s 1J.Tick 50

# 前に移動
execute if block ^ ^ ^1 #lib:no_collision run tp @s ^ ^ ^1
Loading