mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 19:47:22 +01:00
Gives the RCD a unique suicide act (well, 2 or 4, depending on how you look at it) (#24496)
* RCD Suicide Time The most suicidal item in SS13 now! * Do not dust the items thanks * Update code/game/objects/items/weapons/RCD.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> * Update code/game/objects/items/weapons/RCD.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> * Update code/game/objects/items/weapons/RCD.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> * Update code/game/objects/items/weapons/RCD.dm Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> * code compaction * Update RCD.dm * Update code/game/objects/items/weapons/RCD.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Update RCD.dm * Update RCD.dm * Update RCD.dm * Update code/game/objects/items/weapons/RCD.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> * Update code/game/objects/items/weapons/RCD.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/game/objects/items/weapons/RCD.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update code/game/objects/items/weapons/RCD.dm * Update code/game/objects/items/weapons/RCD.dm Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update RCD.dm * The worst typo in history Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> * Update RCD.dm * missed perception check * Refactor RCD actions. * Death message. * Removes magic numbers * Update code/game/objects/items/weapons/RCD.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com> * Makes everything work * Update RCD.dm * Update code/game/objects/items/weapons/RCD.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com> * Update RCD.dm * Apply suggestions from code review Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com> * Update code/game/objects/items/weapons/RCD.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com> * Update RCD.dm * Update code/game/objects/items/weapons/RCD.dm Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com> --------- Signed-off-by: CRUNCH <143041327+Fordoxia@users.noreply.github.com> Co-authored-by: Luc <89928798+lewcc@users.noreply.github.com> Co-authored-by: DGamerL <108773801+DGamerL@users.noreply.github.com> Co-authored-by: Henri215 <77684085+Henri215@users.noreply.github.com> Co-authored-by: FunnyMan3595 (Charlie Nolan) <funnyman@google.com>
This commit is contained in:
co-authored by
Luc
DGamerL
Henri215
FunnyMan3595
parent
bfa88abd5a
commit
7bf45dce58
@@ -204,6 +204,13 @@
|
||||
for(var/obj/structure/grille/grill_to_destroy in act_on)
|
||||
qdel(grill_to_destroy)
|
||||
|
||||
/datum/rcd_act/remove_user
|
||||
mode = MODE_DECON
|
||||
cost = 5
|
||||
start_message = "Deconstructing user..."
|
||||
delay = 5 SECONDS
|
||||
start_effect_type = /obj/effect/temp_visual/rcd_effect/reverse
|
||||
|
||||
/obj/item/rcd
|
||||
name = "rapid-construction-device (RCD)"
|
||||
desc = "A device used to rapidly build and deconstruct walls, floors and airlocks."
|
||||
@@ -243,6 +250,7 @@
|
||||
var/door_name = "Airlock"
|
||||
/// If the glass airlock is polarized.
|
||||
var/electrochromic = FALSE
|
||||
/// If the airlock will be created with glass so it can be seen through.
|
||||
var/airlock_glass = FALSE
|
||||
/// If this is TRUE, any airlocks that gets built will require only ONE of the checked accesses. If FALSE, it will require ALL of them.
|
||||
var/one_access = TRUE
|
||||
@@ -331,6 +339,32 @@
|
||||
GLOB.rcd_list -= src
|
||||
return ..()
|
||||
|
||||
/obj/item/rcd/suicide_act(mob/living/user)
|
||||
user.Immobilize(10 SECONDS) // You cannot move.
|
||||
flags |= NODROP // You cannot drop. You commit to die.
|
||||
var/turf/suicide_tile = get_turf(src)
|
||||
if(mode == MODE_DECON)
|
||||
user.visible_message("<span class='suicide'>[user] points [src] at [user.p_their()] chest and pulls the trigger. It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
||||
var/datum/rcd_act/remove_user/act = new()
|
||||
if(!act.try_act(suicide_tile, src, user))
|
||||
flags &= ~NODROP
|
||||
return SHAME
|
||||
user.visible_message("<span class='suicide'>[user] deconstructs [user.p_themselves()] with [src]!</span>")
|
||||
for(var/obj/item/W in user) // Do not delete all their stuff.
|
||||
user.unEquip(W) // Dump everything on the floor instead.
|
||||
flags &= ~NODROP // NODROP must be removed so the RCD doesn't get dusted along with them. Having this come after the unequipping puts the RCD on top of the pile of stuff.
|
||||
user.dust() // (held items fall to the floor when dusting).
|
||||
return OBLITERATION
|
||||
|
||||
user.visible_message("<span class='suicide'>[user] puts the barrel of [src] into [user.p_their()] mouth and pulls the trigger. It looks like [user.p_theyre()] trying to commit suicide!</span>")
|
||||
if(!afterattack(suicide_tile, user, TRUE))
|
||||
flags &= ~NODROP
|
||||
return SHAME
|
||||
user.visible_message("<span class='suicide'>[user] explodes as [src] builds a structure inside [user.p_them()]!</span>")
|
||||
flags &= ~NODROP
|
||||
user.gib()
|
||||
return OBLITERATION
|
||||
|
||||
/**
|
||||
* Creates and returns a base64 icon of the given `airlock_type`.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user