mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-23 03:57:13 +01:00
Merge pull request #786 from SkyMarshal/Airlocks
Adds dismemberment to Tajarans and Monkeys. Added some sanity checks to prevent people from punching you when they are missing hands. Fixed more wound stuff. Some examine fixes.
This commit is contained in:
@@ -108,6 +108,17 @@
|
||||
|
||||
/obj/item/attack_hand(mob/user as mob)
|
||||
if (!user) return
|
||||
if (user.hand)
|
||||
if(ishuman(user))
|
||||
var/datum/organ/external/temp = user:organs["l_hand"]
|
||||
if(temp.destroyed)
|
||||
user << "\blue Yo- wait a minute."
|
||||
return
|
||||
else
|
||||
if(ishuman(user))
|
||||
var/datum/organ/external/temp = user:organs["r_hand"]
|
||||
if(temp.destroyed)
|
||||
user << "\blue Yo- wait a minute."
|
||||
if (istype(src.loc, /obj/item/weapon/storage))
|
||||
for(var/mob/M in range(1, src.loc))
|
||||
if (M.s_active == src.loc)
|
||||
@@ -175,6 +186,18 @@
|
||||
user << "Your claws aren't capable of such fine manipulation."
|
||||
return
|
||||
|
||||
if (user.hand)
|
||||
if(ismonkey(user))
|
||||
var/datum/organ/external/temp = user:organs["l_hand"]
|
||||
if(temp.destroyed)
|
||||
user << "\blue Yo- wait a minute."
|
||||
return
|
||||
else
|
||||
if(ismonkey(user))
|
||||
var/datum/organ/external/temp = user:organs["r_hand"]
|
||||
if(temp.destroyed)
|
||||
user << "\blue Yo- wait a minute."
|
||||
|
||||
if (istype(src.loc, /obj/item/weapon/storage))
|
||||
for(var/mob/M in range(1, src.loc))
|
||||
if (M.s_active == src.loc)
|
||||
|
||||
@@ -51,13 +51,24 @@ FINGERPRINT CARD
|
||||
|
||||
usr << text("\icon[] []: The current assignment on the card is [].", src, src.name, src.assignment)
|
||||
return
|
||||
|
||||
/obj/item/weapon/card/id/syndicate/var/mob/registered_user = null
|
||||
/obj/item/weapon/card/id/syndicate/attack_self(mob/user as mob)
|
||||
if(!src.registered_name)
|
||||
src.registered_name = input(user, "What name would you like to put on this card?", "Agent card name", ishuman(user) ? user.real_name : user.name)
|
||||
src.assignment = input(user, "What occupation would you like to put on this card?\nNote: This will not grant any access levels other than Maintenance.", "Agent card job assignment", "Assistant")
|
||||
src.name = "[src.registered_name]'s ID Card ([src.assignment])"
|
||||
if(!registered_user)
|
||||
registered_name = input(user, "What name would you like to put on this card?", "Agent card name", ishuman(user) ? user.real_name : user.name)
|
||||
assignment = input(user, "What occupation would you like to put on this card?\nNote: This will not grant any access levels other than Maintenance.", "Agent card job assignment", "Assistant")
|
||||
name = "[src.registered_name]'s ID Card ([src.assignment])"
|
||||
user << "\blue You successfully forge the ID card."
|
||||
registered_user = user
|
||||
else if(registered_user == user)
|
||||
switch(alert("Would you like to display the ID, or retitle it?","Choose.","Rename","Show"))
|
||||
if("Rename")
|
||||
registered_name = input(user, "What name would you like to put on this card?", "Agent card name", ishuman(user) ? user.real_name : user.name)
|
||||
assignment = input(user, "What occupation would you like to put on this card?\nNote: This will not grant any access levels other than Maintenance.", "Agent card job assignment", "Assistant")
|
||||
name = "[src.registered_name]'s ID Card ([src.assignment])"
|
||||
user << "\blue You successfully forge the ID card."
|
||||
return
|
||||
if("Show")
|
||||
..()
|
||||
else
|
||||
..()
|
||||
|
||||
|
||||
@@ -65,9 +65,9 @@ MEDICAL
|
||||
|
||||
if (user && stoppedblood)
|
||||
if (M != user)
|
||||
user.visible_message("\red [user] bandages [stoppedblood - 1 ? "some of" : "the last of"] [H]'s cuts with [src]", "\red You bandage up [stoppedblood - 1 ? "some of" : "the last of"] [H]'s cuts", "\red You hear something like gauze being ripped.")
|
||||
user.visible_message("\red [user] [heal_burn? "salves" : "bandages"] [stoppedblood - 1 ? "some of" : "the last of"] [H]'s cuts with [src].", "\red You [heal_burn? "salve" : "bandage up"] [stoppedblood - 1 ? "some of" : "the last of"] [H]'s [heal_burn? "burns" : "wounds"].", "\red You hear something like gauze being ripped.")
|
||||
else
|
||||
user.visible_message("\red [user] bandages [stoppedblood - 1 ? "some of" : "the last of"] [user.gender == MALE? "his" : "her"] own cuts with [src]", "\red You bandage up [stoppedblood - 1 ? "some of" : "the last of"] your cuts", "\red You hear something like gauze being ripped.")
|
||||
user.visible_message("\red [user] [heal_burn? "salves" : "bandages"] [stoppedblood - 1 ? "some of" : "the last of"] [user.gender == MALE? "his" : "her"] own cuts with [src].", "\red You [heal_burn? "salve" : "bandage up"] [stoppedblood - 1 ? "some of" : "the last of"] your [heal_burn? "burns" : "wounds"].", "\red You hear something like gauze being ripped.")
|
||||
else if(user)
|
||||
user << "\red Nothing to patch up!"
|
||||
return
|
||||
@@ -172,9 +172,9 @@ MEDICAL
|
||||
|
||||
if (user && stoppedblood)
|
||||
if (M != user)
|
||||
H.visible_message("\red You bandage up [stoppedblood - 1 ? "some of" : "the last of"] [H]'s cuts", "\red [user] bandages [stoppedblood - 1 ? "some of" : "the last of"] [H]'s cuts with [src]", "\red You hear something like gauze being ripped.")
|
||||
user.visible_message("\red [user] [heal_burn? "salves" : "bandages"] [stoppedblood - 1 ? "some of" : "the last of"] [H]'s cuts with [src].", "\red You [heal_burn? "salve" : "bandage up"] [stoppedblood - 1 ? "some of" : "the last of"] [H]'s [heal_burn? "burns" : "wounds"].", "\red You hear something like gauze being ripped.")
|
||||
else
|
||||
H.visible_message("\red You bandage up [stoppedblood - 1 ? "some of" : "the last of"] your cuts", "\red [user] bandages [stoppedblood - 1 ? "some of" : "the last of"] their own cuts with [src]", "\red You hear something like gauze being ripped.")
|
||||
user.visible_message("\red [user] [heal_burn? "salves" : "bandages"] [stoppedblood - 1 ? "some of" : "the last of"] [user.gender == MALE? "his" : "her"] own cuts with [src].", "\red You [heal_burn? "salve" : "bandage up"] [stoppedblood - 1 ? "some of" : "the last of"] your [heal_burn? "burns" : "wounds"].", "\red You hear something like gauze being ripped.")
|
||||
else if(user)
|
||||
user << "\red Nothing to patch up!"
|
||||
return
|
||||
|
||||
@@ -1286,22 +1286,22 @@ CIRCULAR SAW
|
||||
|
||||
switch(M:brain_op_stage)
|
||||
if(0)
|
||||
if(!istype(H))
|
||||
if(!hasorgans(M))
|
||||
return ..()
|
||||
var/datum/organ/external/S = H.organs["head"]
|
||||
var/datum/organ/external/S = M:organs["head"]
|
||||
if(S.destroyed)
|
||||
return
|
||||
for(var/mob/O in viewers(H, null))
|
||||
O.show_message(text("\red [H] gets \his [S.display_name] sawed at with [src] by [user].... It looks like [user] is trying to cut it off!"), 1)
|
||||
for(var/mob/O in viewers(M, null))
|
||||
O.show_message(text("\red [M] gets \his [S.display_name] sawed at with [src] by [user].... It looks like [user] is trying to cut it off!"), 1)
|
||||
if(!do_after(user,rand(50,70)))
|
||||
for(var/mob/O in viewers(H, null))
|
||||
O.show_message(text("\red [user] tried to cut [H]'s [S.display_name] off with [src], but failed."), 1)
|
||||
for(var/mob/O in viewers(M, null))
|
||||
O.show_message(text("\red [user] tried to cut [M]'s [S.display_name] off with [src], but failed."), 1)
|
||||
return
|
||||
for(var/mob/O in viewers(H, null))
|
||||
O.show_message(text("\red [H] gets \his [S.display_name] sawed off with [src] by [user]."), 1)
|
||||
for(var/mob/O in viewers(M, null))
|
||||
O.show_message(text("\red [M] gets \his [S.display_name] sawed off with [src] by [user]."), 1)
|
||||
S.destroyed = 1
|
||||
S.droplimb()
|
||||
H.update_body()
|
||||
M:update_body()
|
||||
if(1.0)
|
||||
if(istype(M, /mob/living/carbon/metroid))
|
||||
return
|
||||
@@ -1379,9 +1379,9 @@ CIRCULAR SAW
|
||||
..()
|
||||
return
|
||||
|
||||
else if(user.zone_sel.selecting != "chest" && istype(M, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = M
|
||||
var/datum/organ/external/S = H.organs[user.zone_sel.selecting]
|
||||
else if(user.zone_sel.selecting != "chest" && hasorgans(M))
|
||||
var/mob/living/carbon/H = M
|
||||
var/datum/organ/external/S = H:organs[user.zone_sel.selecting]
|
||||
if(S.destroyed)
|
||||
return
|
||||
for(var/mob/O in viewers(H, null))
|
||||
@@ -1392,9 +1392,8 @@ CIRCULAR SAW
|
||||
return
|
||||
for(var/mob/O in viewers(H, null))
|
||||
O.show_message(text("\red [H] gets \his [S.display_name] sawed off with [src] by [user]."), 1)
|
||||
S.destroyed = 1
|
||||
S.droplimb()
|
||||
H.update_body()
|
||||
S.droplimb(1)
|
||||
H:update_body()
|
||||
else
|
||||
return ..()
|
||||
/*
|
||||
@@ -2962,4 +2961,4 @@ CIRCULAR SAW
|
||||
z="[usr] pops [m]'s [organ.display_name] bone into the wrong place"
|
||||
if(5)
|
||||
z="[usr] performs chiropractice on [m]'s [organ.display_name]"
|
||||
return z*/
|
||||
return z*/
|
||||
|
||||
Reference in New Issue
Block a user