-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
🍱 [Mob213] TerribleSonicBomberと愉快な仲間たちの追加 (#443)
- Loading branch information
Showing
116 changed files
with
1,895 additions
and
0 deletions.
There are no files selected for viewing
14 changes: 14 additions & 0 deletions
14
Asset/data/asset/functions/mob/0213.terrible_sonic_bomber/_index.d.mcfunction
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,14 @@ | ||
#> asset:mob/0213.terrible_sonic_bomber/_index.d | ||
# @private | ||
|
||
#> tag | ||
# @within | ||
# function asset:mob/0213.terrible_sonic_bomber/** | ||
# function asset:mob/0214.drone/** | ||
#declare tag 5X.Centre #旋回中心座標を示す、基本的には呪われた剣の位置と一致する。イギリス綴りなので誤字ではない | ||
|
||
#> tag_inter_object | ||
# @within | ||
# function asset:mob/0213.terrible_sonic_bomber/** | ||
# function asset:object/2083.brimstone/** | ||
#declare tag 5X.BrimstoneTarget #旋回中心座標を示す、基本的には呪われた剣の位置と一致する。イギリス綴りなので誤字ではない |
16 changes: 16 additions & 0 deletions
16
Asset/data/asset/functions/mob/0213.terrible_sonic_bomber/death/.mcfunction
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
#> asset:mob/0213.terrible_sonic_bomber/death/ | ||
# | ||
# Mobの死亡時の処理 | ||
# | ||
# @within function asset:mob/alias/213/death | ||
|
||
# super | ||
function asset:mob/super.death | ||
|
||
# remove markers | ||
kill @e[tag=5X.Centre] | ||
|
||
# remove objects and mobs | ||
execute as @e[scores={ObjectID=2082..2088}] on passengers run kill @s | ||
execute as @e[scores={MobID=214}] run function api:mob/remove | ||
kill @e[scores={ObjectID=2082..2088}] |
10 changes: 10 additions & 0 deletions
10
Asset/data/asset/functions/mob/0213.terrible_sonic_bomber/hurt/.mcfunction
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
#> asset:mob/0213.terrible_sonic_bomber/hurt/ | ||
# | ||
# Mobのダメージ時の処理 | ||
# | ||
# @within function asset:mob/alias/213/hurt | ||
|
||
# super | ||
function asset:mob/super.hurt | ||
|
||
# TODO 被弾時の演出を書く |
44 changes: 44 additions & 0 deletions
44
Asset/data/asset/functions/mob/0213.terrible_sonic_bomber/init/.mcfunction
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
#> asset:mob/0213.terrible_sonic_bomber/init/ | ||
# | ||
# Mobのinit時の処理 | ||
# | ||
# @within asset:mob/alias/213/init | ||
|
||
#> prv | ||
# @private | ||
#declare score_holder $initial_motion_end_time | ||
|
||
#モブの見た目をライドする | ||
# アニジャバのsummonを実行 | ||
# アニジャバのrootをファントムに乗せる | ||
# TODO:召喚時につけなきゃいけないタグを確認する | ||
|
||
|
||
# super | ||
function asset:mob/super.init | ||
|
||
#ファントムのNBTをいじる | ||
data modify entity @s Size set value 32 | ||
|
||
#モブのデータに以下の情報を記録 | ||
# 初期モーション終了時間を記録 | ||
execute store result score $initial_motion_end_time Temporary run time query gametime | ||
execute store result storage asset:context this.initial_motion_end_time int 1 run scoreboard players add $initial_motion_end_time Temporary 30 | ||
|
||
# 次回攻撃時刻を記録 | ||
execute store result storage asset:context this.next_attack_time int 1 run scoreboard players add $initial_motion_end_time Temporary 120 | ||
|
||
# 旋回中心座標を示すマーカーを置く | ||
summon marker ~ ~ ~ {Tags:["Uninterferable","5X.Centre"]} | ||
|
||
# 対空砲召喚 | ||
data modify storage api: Argument.ID set value 2088 | ||
function api:object/summon | ||
|
||
|
||
#タイトルで何をやるか説明 | ||
title @a[distance=..128] title {"text":"対空砲を守り敵を迎撃せよ","color":"white","bold":true} | ||
|
||
|
||
# reset | ||
scoreboard players reset $initial_motion_end_time Temporary |
71 changes: 71 additions & 0 deletions
71
Asset/data/asset/functions/mob/0213.terrible_sonic_bomber/register.mcfunction
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,71 @@ | ||
#> asset:mob/0213.terrible_sonic_bomber/register | ||
# | ||
# Mobのデータを指定 | ||
# | ||
# @within function asset:mob/alias/213/register | ||
|
||
#継承 (int) (オプション) | ||
data modify storage asset:mob Extends append value 2000 | ||
function asset:mob/extends | ||
# 他のモブに継承されることを許可するか (boolean) (オプション) | ||
# data modify storage asset:mob ExtendsSafe set value | ||
# 継承されることを前提とした、抽象的なモブであるかどうか(boolean) | ||
data modify storage asset:mob IsAbstract set value false | ||
# ID (int) | ||
data modify storage asset:mob ID set value 213 | ||
# Type (string) Wikiを参照 | ||
data modify storage asset:mob Type set value "Enemy.Boss" | ||
# 干渉可能か否か (boolean) | ||
data modify storage asset:mob Interferable set value true | ||
# 名前 (TextComponentString) (オプション) | ||
data modify storage asset:mob Name set value '{"text":"Terrible Sonic Bomber"}' | ||
# Mobの説明文 (TextComponentString[]) (オプション) | ||
data modify storage asset:mob Lore set value ['{"text":"TBD"}'] | ||
# 武器 | ||
# メインハンド (Compound(Item)) (オプション) | ||
# data modify storage asset:mob Weapon.Mainhand set value | ||
# オフハンド (Compound(Item)) (オプション) | ||
# data modify storage asset:mob Weapon.Offhand set value | ||
# 武器ドロップ率 ([float, float]) (オプション) | ||
# data modify storage asset:mob WeaponDropChances set value | ||
# 防具 | ||
# 頭 (Compound(Item)) (オプション) | ||
# data modify storage asset:mob Armor.Head set value | ||
# 胴 (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 20000 | ||
# 攻撃力 (double) (オプション) | ||
# data modify storage asset:mob AttackDamage set value | ||
# 防御力 (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 | ||
# 移動速度 (double) (オプション) | ||
# data modify storage asset:mob Speed set value | ||
# 索敵範囲 (double) (オプション) | ||
# data modify storage asset:mob FollowRange set value | ||
# ノックバック耐性 (double) (オプション) | ||
# data modify storage asset:mob KnockBackResist set value | ||
# 属性倍率 // 1.0fで100% 最低でも25%は軽減されずに入る | ||
# 物理倍率 (float) (オプション) | ||
# data modify storage asset:mob Resist.Physical set value | ||
# 魔法倍率 (float) (オプション) | ||
data modify storage asset:mob Resist.Magic set value 0.4 | ||
# 火倍率 (float) (オプション) | ||
# data modify storage asset:mob Resist.Fire set value | ||
# 水倍率 (float) (オプション) | ||
# data modify storage asset:mob Resist.Water set value | ||
# 雷倍率 (float) (オプション) | ||
data modify storage asset:mob Resist.Thunder set value 0.25 | ||
# フィールド | ||
data modify storage asset:mob Field.TargetCoordinates set value [] | ||
data modify storage asset:mob Field.UsingWeapon set value "" | ||
data modify storage asset:mob Field.AttackDistance set value 50 | ||
data modify storage asset:mob Field.InitialMotionTime set value 200 |
19 changes: 19 additions & 0 deletions
19
Asset/data/asset/functions/mob/0213.terrible_sonic_bomber/remove/.mcfunction
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,19 @@ | ||
#> asset:mob/0213.terrible_sonic_bomber/remove/ | ||
# | ||
# 天使が居なくなる際に実行される処理 | ||
# | ||
# @within asset:mob/alias/213/remove | ||
|
||
# Todo: ミサイルを消す | ||
# Todo: 対空砲を消す | ||
|
||
# super | ||
function asset:mob/super.remove | ||
|
||
# remove markers | ||
kill @e[tag=5X.Centre] | ||
|
||
# remove objects | ||
execute as @e[scores={ObjectID=2082..2088}] on passengers run kill @s | ||
execute as @e[scores={MobID=214}] run function api:mob/remove | ||
kill @e[scores={ObjectID=2082..2088}] |
8 changes: 8 additions & 0 deletions
8
Asset/data/asset/functions/mob/0213.terrible_sonic_bomber/summon/.mcfunction
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
#> asset:mob/0213.terrible_sonic_bomber/summon/ | ||
# | ||
# Object召喚処理の呼び出し時に実行されるfunction | ||
# | ||
# @within asset:mob/alias/213/summon | ||
|
||
# 元となるEntityを召喚する | ||
summon phantom ~ ~ ~ {Tags:["MobInit","AntiBurn"],DeathLootTable:"empty",NoAI:1b} |
10 changes: 10 additions & 0 deletions
10
Asset/data/asset/functions/mob/0213.terrible_sonic_bomber/summon/debug.mcfunction
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,10 @@ | ||
#> asset:mob/0213.terrible_sonic_bomber/summon/debug | ||
# | ||
# 動作チェック用の召喚処理 使い終わったら消してもいいかも | ||
# | ||
# @user | ||
# @private | ||
|
||
# 召喚 | ||
data modify storage api: Argument.ID set value 213 | ||
function api:mob/summon |
46 changes: 46 additions & 0 deletions
46
Asset/data/asset/functions/mob/0213.terrible_sonic_bomber/tick/.mcfunction
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
#> asset:mob/0213.terrible_sonic_bomber/tick/ | ||
# | ||
# Mobのtick時の処理 | ||
# | ||
# @within asset:mob/alias/213/tick | ||
|
||
#> prv | ||
# @private | ||
#declare score_holder $current_gametime | ||
#declare score_holder $initial_motion_end_time | ||
#declare score_holder $next_attack_time | ||
|
||
# 現在時間を記録 | ||
execute store result score $current_gametime Temporary run time query gametime | ||
|
||
|
||
# 初期モーション終了時間前の場合 | ||
# 上へゆっくり昇っていく | ||
execute store result score $initial_motion_end_time Temporary run data get storage asset:context this.initial_motion_end_time | ||
execute if score $initial_motion_end_time Temporary > $current_gametime Temporary run function asset:mob/0213.terrible_sonic_bomber/tick/motions/initial_motion | ||
|
||
|
||
# 初期モーション終了時間ぴったり | ||
# モデルを表示 | ||
# TBD | ||
|
||
# それ以降 | ||
|
||
execute if score $initial_motion_end_time Temporary < $current_gametime Temporary store result score $next_attack_time Temporary run data get storage asset:context this.next_attack_time | ||
|
||
# 巡行移動モーション | ||
execute if score $initial_motion_end_time Temporary < $current_gametime Temporary if score $next_attack_time Temporary >= $current_gametime Temporary run function asset:mob/0213.terrible_sonic_bomber/tick/motions/cruise_motion | ||
|
||
# 攻撃モーション準備 | ||
execute if score $initial_motion_end_time Temporary < $current_gametime Temporary if score $next_attack_time Temporary = $current_gametime Temporary run function asset:mob/0213.terrible_sonic_bomber/tick/motions/attack_motion_prepare | ||
|
||
# 攻撃モーション実行 | ||
execute if score $initial_motion_end_time Temporary < $current_gametime Temporary if score $next_attack_time Temporary < $current_gametime Temporary run function asset:mob/0213.terrible_sonic_bomber/tick/motions/attack_motion | ||
|
||
#tellraw @a [{"score":{"objective":"Temporary","name":"$next_attack_time"}}] | ||
|
||
|
||
# reset | ||
scoreboard players reset $initial_motion_end_time Temporary | ||
scoreboard players reset $current_gametime Temporary | ||
scoreboard players reset $next_attack_time Temporary |
54 changes: 54 additions & 0 deletions
54
...data/asset/functions/mob/0213.terrible_sonic_bomber/tick/motions/attack_motion.mcfunction
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
#> asset:mob/0213.terrible_sonic_bomber/tick/motions/attack_motion | ||
# | ||
# | ||
# | ||
# @within function asset:mob/0213.terrible_sonic_bomber/tick/ | ||
|
||
#> prv | ||
# @private | ||
#declare score_holder $current_gametime_for_attack | ||
#declare score_holder $attack_start_time | ||
#declare score_holder $attack_end_time | ||
#declare score_holder $use_weapon | ||
#declare score_holder $flare_time | ||
|
||
# 現在時間を記録 | ||
execute store result score $current_gametime_for_attack Temporary run time query gametime | ||
|
||
# 移動処理 | ||
# 中心座標を中心に旋回 | ||
execute unless entity @e[tag=5X.Centre,distance=..105] facing entity @e[tag=5X.Centre,distance=..128,limit=1] eyes rotated ~80 0 run tp @s ~ ~ ~ ~ ~ | ||
|
||
# 直進 | ||
execute rotated as @s run tp @s ^ ^ ^3 | ||
|
||
# 対空砲付近を飛ぶときはフレアを出す(3tickおき) | ||
execute store result score $flare_time Temporary run time query gametime | ||
scoreboard players operation $flare_time Temporary %= $3 Const | ||
execute if entity @e[tag=5X.Centre,distance=..60] if score $flare_time Temporary matches 0 run particle minecraft:lava ^ ^-1 ^-2 1.5 0 1.5 1 24 force | ||
|
||
|
||
# 攻撃処理 | ||
# 使用武器を取得 | ||
execute store result score $use_weapon Temporary run data get storage asset:context this.use_weapon | ||
|
||
# 攻撃開始時刻になったら攻撃開始 | ||
execute store result score $attack_start_time Temporary run data get storage asset:context this.attack_start_time | ||
execute store result score $attack_end_time Temporary run data get storage asset:context this.attack_end_time | ||
|
||
execute if score $current_gametime_for_attack Temporary = $attack_start_time Temporary if score $current_gametime_for_attack Temporary < $attack_end_time Temporary run function asset:mob/0213.terrible_sonic_bomber/tick/motions/use_weapon | ||
|
||
|
||
# 攻撃終了後の処理 | ||
execute if score $current_gametime_for_attack Temporary >= $attack_end_time Temporary run function asset:mob/0213.terrible_sonic_bomber/tick/motions/set_next_attack_time | ||
execute if score $current_gametime_for_attack Temporary = $attack_end_time Temporary run function asset:mob/0213.terrible_sonic_bomber/tick/motions/escape_after_attack | ||
|
||
#tellraw @a [{"text": "use_weapon"},{"score":{"objective":"Temporary","name":"$use_weapon"}}] | ||
#tellraw @a [{"text": "attack_start_time"},{"score":{"objective":"Temporary","name":"$use_weapon"}}] | ||
|
||
# reset | ||
scoreboard players reset $current_gametime_for_attack Temporary | ||
scoreboard players reset $attack_start_time Temporary | ||
scoreboard players reset $attack_end_time Temporary | ||
scoreboard players reset $use_weapon Temporary | ||
scoreboard players reset $flare_time Temporary |
52 changes: 52 additions & 0 deletions
52
...et/functions/mob/0213.terrible_sonic_bomber/tick/motions/attack_motion_prepare.mcfunction
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
#> asset:mob/0213.terrible_sonic_bomber/tick/motions/attack_motion_prepare | ||
# | ||
# | ||
# | ||
# @within function asset:mob/0213.terrible_sonic_bomber/tick/ | ||
|
||
#> prv | ||
# @private | ||
#declare score_holder $attack_start_time | ||
#declare score_holder $weapon_num | ||
#declare score_holder $health_per | ||
|
||
# 攻撃武器選択 HP半分以下なら選択肢変化 | ||
function api:mob/get_health_percent | ||
execute store result score $health_per Temporary run data get storage api: Return.HealthPer 100 | ||
|
||
# 乱数によるスキル選択 | ||
data modify storage lib: Args.key set value "5XWeapon" | ||
execute if score $health_per Temporary matches 50.. run data modify storage lib: Args.max set value 3 | ||
execute if score $health_per Temporary matches ..49 run data modify storage lib: Args.max set value 4 | ||
data modify storage lib: Args.scarcity_history_size set value 2 | ||
execute store result score $weapon_num Temporary run function lib:random/with_biased/manual.m with storage lib: Args | ||
scoreboard players add $weapon_num Temporary 1 | ||
#scoreboard players set $weapon_num Temporary -4 | ||
#tellraw @a [{"score":{"name":"$health_per","objective":"Temporary"},"color":"blue"}] | ||
|
||
# 対空砲が破壊されていた場合武器が変化する攻撃はIDを変更、将来的にも乱数の範囲に入らない負の値にしておく | ||
execute if entity @e[tag=PatriotLauncher.IsBroken,distance=..128] if score $weapon_num Temporary matches 4 run scoreboard players set $weapon_num Temporary -4 | ||
|
||
execute store result storage asset:context this.use_weapon int 1 run scoreboard players get $weapon_num Temporary | ||
|
||
# 攻撃開始と終了時間指定(デフォルト値) | ||
execute store result score $attack_start_time Temporary run time query gametime | ||
execute store result storage asset:context this.attack_start_time int 1 run scoreboard players add $attack_start_time Temporary 20 | ||
execute store result storage asset:context this.attack_end_time int 1 run scoreboard players add $attack_start_time Temporary 20 | ||
|
||
# 攻撃内容に応じて向きを変える | ||
execute if score $weapon_num Temporary matches 1..2 facing entity @e[tag=5X.Centre,limit=1] eyes rotated ~ 0 run tp @s ~ ~ ~ ~ ~ | ||
execute if score $weapon_num Temporary matches 4 facing entity @p eyes rotated ~ 0 run tp @s ~ ~ ~ ~ ~ | ||
execute if score $weapon_num Temporary matches -4 at @p positioned ~ ~10 ~ facing entity @s eyes facing ^ ^ ^-1 positioned as @s run tp @s ~ ~ ~ ~ ~ | ||
|
||
# 武器ごとの処理 | ||
execute if score $weapon_num Temporary matches 1 run function asset:mob/0213.terrible_sonic_bomber/tick/weapons/storm_shadow_prepare | ||
execute if score $weapon_num Temporary matches 2 run function asset:mob/0213.terrible_sonic_bomber/tick/weapons/brimstone_prepare | ||
execute if score $weapon_num Temporary matches 3 run function asset:mob/0213.terrible_sonic_bomber/tick/weapons/drone_prepare | ||
execute if score $weapon_num Temporary matches 4 run function asset:mob/0213.terrible_sonic_bomber/tick/weapons/snakeeye_prepare | ||
execute if score $weapon_num Temporary matches -4 run function asset:mob/0213.terrible_sonic_bomber/tick/weapons/gatling_prepare | ||
|
||
# reset | ||
scoreboard players reset $attack_start_time Temporary | ||
scoreboard players reset $weapon_num Temporary | ||
scoreboard players reset $health_per Temporary |
27 changes: 27 additions & 0 deletions
27
...data/asset/functions/mob/0213.terrible_sonic_bomber/tick/motions/cruise_motion.mcfunction
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
#> asset:mob/0213.terrible_sonic_bomber/tick/motions/cruise_motion | ||
# | ||
# | ||
# | ||
# @within function asset:mob/0213.terrible_sonic_bomber/tick/ | ||
|
||
#> prv | ||
# @private | ||
#declare score_holder $flare_time | ||
|
||
# 中心座標を中心に旋回 | ||
execute unless entity @e[tag=5X.Centre,distance=..95] facing entity @e[tag=5X.Centre,distance=..128,limit=1] eyes rotated ~80 0 run tp @s ~ ~ ~ ~ ~ | ||
|
||
# 直進 | ||
execute rotated as @s run tp @s ^ ^ ^3 | ||
|
||
# 攻撃後などで低空にいた場合は上昇 | ||
execute at @e[tag=5X.Centre,distance=..128,limit=1] positioned ~-100 ~30 ~-100 if entity @s[dx=199,dy=-100,dz=199] at @s run tp @s ~ ~0.5 ~ | ||
|
||
# 対空砲付近を飛ぶときはフレアを出す(3tickおき) | ||
execute store result score $flare_time Temporary run time query gametime | ||
scoreboard players operation $flare_time Temporary %= $3 Const | ||
execute if entity @e[tag=5X.Centre,distance=..60] if score $flare_time Temporary matches 0 run particle minecraft:lava ^ ^-1 ^-2 1.5 0 1.5 1 24 force | ||
#say cruise | ||
|
||
# reset | ||
scoreboard players reset $flare_time Temporary |
Oops, something went wrong.