mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-08-22 03:27:05 +01:00
Merge branch 'master' of git://github.com/Baystation12/Baystation12 into TGUpdates
Conflicts: code/modules/mob/mob_defines.dm
This commit is contained in:
@@ -4,6 +4,17 @@
|
||||
return
|
||||
|
||||
/atom/proc/attack_hand(mob/user as mob)
|
||||
if(ishuman(user) || ismonkey(user))
|
||||
if (user.hand)
|
||||
var/datum/organ/external/temp = user:organs["l_hand"]
|
||||
if(temp.destroyed)
|
||||
user << "\red Yo- wait a minute."
|
||||
return
|
||||
else
|
||||
var/datum/organ/external/temp = user:organs["r_hand"]
|
||||
if(temp.destroyed)
|
||||
user << "\red Yo- wait a minute."
|
||||
return
|
||||
return
|
||||
|
||||
/atom/proc/attack_paw(mob/user as mob)
|
||||
|
||||
+37
-21
@@ -9,28 +9,29 @@
|
||||
var/original_name = "Unknown"
|
||||
var/b_type = "A+"
|
||||
|
||||
/datum/dna/proc/check_integrity(var/mob/living/carbon/human/character)
|
||||
if(character)
|
||||
/datum/dna/proc/check_integrity(var/mob/living/carbon/character)
|
||||
if(character && ishuman(character))
|
||||
if(length(uni_identity) != 39)
|
||||
//Lazy.
|
||||
var/mob/living/carbon/human/character2 = character
|
||||
var/temp
|
||||
var/hair = 0
|
||||
var/beard
|
||||
|
||||
// determine DNA fragment from hairstyle
|
||||
// :wtc:
|
||||
// If the character doesn't have initialized hairstyles / beardstyles, initialize it for them!
|
||||
if(!character.hair_style)
|
||||
character.hair_style = new/datum/sprite_accessory/hair/short
|
||||
// If the character2 doesn't have initialized hairstyles / beardstyles, initialize it for them!
|
||||
if(!character2.hair_style)
|
||||
character2.hair_style = new/datum/sprite_accessory/hair/short
|
||||
|
||||
if(!character.facial_hair_style)
|
||||
character.facial_hair_style = new/datum/sprite_accessory/facial_hair/shaved
|
||||
if(!character2.facial_hair_style)
|
||||
character2.facial_hair_style = new/datum/sprite_accessory/facial_hair/shaved
|
||||
|
||||
var/list/styles = typesof(/datum/sprite_accessory/hair) - /datum/sprite_accessory/hair
|
||||
var/hrange = round(4095 / styles.len)
|
||||
|
||||
if(character.hair_style)
|
||||
var/style = styles.Find(character.hair_style.type)
|
||||
if(character2.hair_style)
|
||||
var/style = styles.Find(character2.hair_style.type)
|
||||
if(style)
|
||||
hair = style * hrange - rand(1,hrange-1)
|
||||
|
||||
@@ -38,26 +39,26 @@
|
||||
var/list/face_styles = typesof(/datum/sprite_accessory/facial_hair) - /datum/sprite_accessory/facial_hair
|
||||
var/f_hrange = round(4095 / face_styles.len)
|
||||
|
||||
var/f_style = face_styles.Find(character.facial_hair_style.type)
|
||||
var/f_style = face_styles.Find(character2.facial_hair_style.type)
|
||||
if(f_style)
|
||||
beard = f_style * f_hrange - rand(1,f_hrange-1)
|
||||
else
|
||||
beard = 0
|
||||
|
||||
temp = add_zero2(num2hex((character.r_hair),1), 3)
|
||||
temp += add_zero2(num2hex((character.b_hair),1), 3)
|
||||
temp += add_zero2(num2hex((character.g_hair),1), 3)
|
||||
temp += add_zero2(num2hex((character.r_facial),1), 3)
|
||||
temp += add_zero2(num2hex((character.b_facial),1), 3)
|
||||
temp += add_zero2(num2hex((character.g_facial),1), 3)
|
||||
temp += add_zero2(num2hex(((character.s_tone + 220) * 16),1), 3)
|
||||
temp += add_zero2(num2hex((character.r_eyes),1), 3)
|
||||
temp += add_zero2(num2hex((character.g_eyes),1), 3)
|
||||
temp += add_zero2(num2hex((character.b_eyes),1), 3)
|
||||
temp = add_zero2(num2hex((character2.r_hair),1), 3)
|
||||
temp += add_zero2(num2hex((character2.b_hair),1), 3)
|
||||
temp += add_zero2(num2hex((character2.g_hair),1), 3)
|
||||
temp += add_zero2(num2hex((character2.r_facial),1), 3)
|
||||
temp += add_zero2(num2hex((character2.b_facial),1), 3)
|
||||
temp += add_zero2(num2hex((character2.g_facial),1), 3)
|
||||
temp += add_zero2(num2hex(((character2.s_tone + 220) * 16),1), 3)
|
||||
temp += add_zero2(num2hex((character2.r_eyes),1), 3)
|
||||
temp += add_zero2(num2hex((character2.g_eyes),1), 3)
|
||||
temp += add_zero2(num2hex((character2.b_eyes),1), 3)
|
||||
|
||||
var/gender
|
||||
|
||||
if (character.gender == MALE)
|
||||
if (character2.gender == MALE)
|
||||
gender = add_zero2(num2hex((rand(1,(2050+BLOCKADD))),1), 3)
|
||||
else
|
||||
gender = add_zero2(num2hex((rand((2051+BLOCKADD),4094)),1), 3)
|
||||
@@ -77,6 +78,21 @@
|
||||
unique_enzymes = md5(character.real_name)
|
||||
if(original_name == "Unknown")
|
||||
original_name = character.real_name
|
||||
else if(character && ismonkey(character))
|
||||
uni_identity = "00600200A00E0110148FC01300B009"
|
||||
struc_enzymes = "43359156756131E13763334D1C369012032164D4FE4CD61544B6C03F251B6C60A42821D26BA3B0FD6"
|
||||
unique_enzymes = md5(character.name)
|
||||
//////////blah
|
||||
var/gendervar
|
||||
if (character.gender == "male")
|
||||
gendervar = add_zero2(num2hex((rand(1,2049)),1), 3)
|
||||
else
|
||||
gendervar = add_zero2(num2hex((rand(2051,4094)),1), 3)
|
||||
uni_identity += gendervar
|
||||
uni_identity += "12C"
|
||||
uni_identity += "4E2"
|
||||
b_type = "A+"
|
||||
original_name = character.real_name
|
||||
else
|
||||
if(length(uni_identity) != 39) uni_identity = "00600200A00E0110148FC01300B0095BD7FD3F4"
|
||||
if(length(struc_enzymes)!= 81) struc_enzymes = "43359156756131E13763334D1C369012032164D4FE4CD61544B6C03F251B6C60A42821D26BA3B02D6"
|
||||
|
||||
@@ -247,7 +247,7 @@
|
||||
var/infected = ""
|
||||
var/imp = ""
|
||||
var/bled = ""
|
||||
if(e.wounds.len >= 1)
|
||||
if(e.bleeding)
|
||||
bled = "Bleeding:"
|
||||
if(e.broken)
|
||||
AN = "[e.wound]:"
|
||||
@@ -264,7 +264,7 @@
|
||||
dat += "</tr>"
|
||||
dat += "</table>"
|
||||
else
|
||||
dat += "The sleeper is empty."
|
||||
dat += "\The [src] is empty."
|
||||
else
|
||||
dat = "<font color='red'> Error: No Body Scanner connected.</font>"
|
||||
dat += text("<BR><BR><A href='?src=\ref[];mach_close=scanconsole'>Close</A>", user)
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
areaindex[tmpname] = 1
|
||||
L[tmpname] = I
|
||||
|
||||
var/desc = input("Please select a location to lock in.", "Locking Computer") in L|null
|
||||
var/desc = input("Please select a location to lock in.", "Locking Computer") as null|anything in L
|
||||
if(desc)
|
||||
src.locked = L[desc]
|
||||
for(var/mob/O in hearers(src, null))
|
||||
|
||||
@@ -140,7 +140,7 @@
|
||||
for(var/obj/item/weapon/book/b in src.contents)
|
||||
books.Add(b)
|
||||
if(books.len)
|
||||
var/obj/item/weapon/book/choice = input("Which book would you like to remove from the shelf?") in books|null as obj|null
|
||||
var/obj/item/weapon/book/choice = input("Which book would you like to remove from the shelf?") as null|anything in books
|
||||
if(choice)
|
||||
choice.loc = src.loc
|
||||
else
|
||||
|
||||
@@ -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