[MIRROR] Adds new accidents to the omen component and makes it an admin smite (#1219)

* Adds new accidents to the omen component and makes it an admin smite (#54063)

The omen component now has a 15% chance when walking through an airlock to have it try to crush you and a 15% chance when walking next to an open turf to throw yourself into it alongside the existing 15% chance to get crushed by a vending machine and 50% chance when you trip over to crack your skull open.

It is also an admin smite with an option to make it permanent.

Allows airlocks to override safties for a single close() proc call, forcing a crush.

* Adds new accidents to the omen component and makes it an admin smite

Co-authored-by: Timberpoes <silent_insomnia_pp@hotmail.co.uk>
This commit is contained in:
SkyratBot
2020-10-09 18:29:54 +02:00
committed by GitHub
parent 0dfdd9f543
commit 380ee5a3d0
4 changed files with 66 additions and 14 deletions
+9 -1
View File
@@ -1128,7 +1128,8 @@ Traitors and the like can also be revived with the previous role mostly intact.
ADMIN_PUNISHMENT_SCARIFY,
ADMIN_PUNISHMENT_SHOES,
ADMIN_PUNISHMENT_DOCK,
ADMIN_PUNISHMENT_BREAD
ADMIN_PUNISHMENT_BREAD,
ADMIN_PUNISHMENT_BADLUCK
)
var/punishment = input("Choose a punishment", "DIVINE SMITING") as null|anything in sortList(punishment_list)
@@ -1325,6 +1326,13 @@ Traitors and the like can also be revived with the previous role mostly intact.
var/mutable_appearance/transform_scanline = mutable_appearance('icons/effects/effects.dmi',"transform_effect")
target.transformation_animation(bread_appearance,time= 5 SECONDS,transform_overlay=transform_scanline,reset_after=TRUE)
addtimer(CALLBACK(GLOBAL_PROC, .proc/breadify, target), 5 SECONDS)
if(ADMIN_PUNISHMENT_BADLUCK)
if(!isliving(target))
to_chat(usr, "<span class='warning'>This must be used on a /mob/living type of mob.</span>", confidential = TRUE)
return
var/silent = alert("Do you want to apply the omen with a player notification?", "Notify Player?", "Notify", "Silent") == "Silent"
var/permanent = alert("Would you like this to be permanent or removed automatically after the first accident?", "Permanent?", "Permanent", "Temporary") == "Permanent"
target.AddComponent(/datum/component/omen, silent, null, permanent)
punish_log(target, punishment)