mirror of
https://github.com/fulpstation/fulpstation.git
synced 2025-12-10 01:57:01 +00:00
Renamed variables:
b_type to blood_type h_color to hair_color f_color to facial_hair_color f_style to facial_hair_style h_style to hair_style
This commit is contained in:
@@ -48,7 +48,7 @@
|
||||
var/datum/data/record/M = new()
|
||||
M.fields["id"] = id
|
||||
M.fields["name"] = H.real_name
|
||||
M.fields["b_type"] = H.b_type
|
||||
M.fields["blood_type"] = H.blood_type
|
||||
M.fields["b_dna"] = H.dna.unique_enzymes
|
||||
M.fields["mi_dis"] = "None"
|
||||
M.fields["mi_dis_d"] = "No minor disabilities have been declared."
|
||||
@@ -80,7 +80,7 @@
|
||||
L.fields["rank"] = H.mind.assigned_role
|
||||
L.fields["age"] = H.age
|
||||
L.fields["sex"] = H.gender
|
||||
L.fields["b_type"] = H.b_type
|
||||
L.fields["blood_type"] = H.blood_type
|
||||
L.fields["b_dna"] = H.dna.unique_enzymes
|
||||
L.fields["enzymes"] = H.dna.struc_enzymes
|
||||
L.fields["identity"] = H.dna.uni_identity
|
||||
|
||||
@@ -31,15 +31,15 @@ BONUS
|
||||
var/mob/living/carbon/human/H = M
|
||||
switch(A.stage)
|
||||
if(1, 2)
|
||||
if(H.f_style == "Shaved")
|
||||
H.f_style = "Adam Jensen Beard"
|
||||
if(H.facial_hair_style == "Shaved")
|
||||
H.facial_hair_style = "Adam Jensen Beard"
|
||||
H.update_hair()
|
||||
if(3, 4)
|
||||
if(!(H.f_style == "Dwarf Beard") && !(H.h_style == "Very Long Beard") && !(H.h_style == "Full Beard"))
|
||||
H.f_style = "Full Beard"
|
||||
if(!(H.facial_hair_style == "Dwarf Beard") && !(H.hair_style == "Very Long Beard") && !(H.hair_style == "Full Beard"))
|
||||
H.facial_hair_style = "Full Beard"
|
||||
H.update_hair()
|
||||
else
|
||||
if(!(H.f_style == "Dwarf Beard") && !(H.h_style == "Very Long Beard"))
|
||||
H.f_style = pick("Dwarf Beard", "Very Long Beard")
|
||||
if(!(H.facial_hair_style == "Dwarf Beard") && !(H.hair_style == "Very Long Beard"))
|
||||
H.facial_hair_style = pick("Dwarf Beard", "Very Long Beard")
|
||||
H.update_hair()
|
||||
return
|
||||
@@ -32,16 +32,16 @@ BONUS
|
||||
var/mob/living/carbon/human/H = M
|
||||
switch(A.stage)
|
||||
if(3, 4)
|
||||
if(!(H.h_style == "Bald") && !(H.h_style == "Balding Hair"))
|
||||
if(!(H.hair_style == "Bald") && !(H.hair_style == "Balding Hair"))
|
||||
H << "<span class='danger'>Your hair starts to fall out in clumps...</span>"
|
||||
spawn(50)
|
||||
H.h_style = "Balding Hair"
|
||||
H.hair_style = "Balding Hair"
|
||||
H.update_hair()
|
||||
if(5)
|
||||
if(!(H.f_style == "Shaved") || !(H.h_style == "Bald"))
|
||||
if(!(H.facial_hair_style == "Shaved") || !(H.hair_style == "Bald"))
|
||||
H << "<span class='danger'>Your hair starts to fall out in clumps...</span>"
|
||||
spawn(50)
|
||||
H.f_style = "Shaved"
|
||||
H.h_style = "Bald"
|
||||
H.facial_hair_style = "Shaved"
|
||||
H.hair_style = "Bald"
|
||||
H.update_hair()
|
||||
return
|
||||
@@ -342,7 +342,7 @@ var/list/blood_splatter_icons = list()
|
||||
//if this blood isn't already in the list, add it
|
||||
if(blood_DNA[M.dna.unique_enzymes])
|
||||
return 0 //already bloodied with this blood. Cannot add more.
|
||||
blood_DNA[M.dna.unique_enzymes] = M.dna.b_type
|
||||
blood_DNA[M.dna.unique_enzymes] = M.dna.blood_type
|
||||
return 1 //we applied blood to the item
|
||||
|
||||
//adding blood to turfs
|
||||
@@ -352,7 +352,7 @@ var/list/blood_splatter_icons = list()
|
||||
//get one blood decal and infect it with virus from M.viruses
|
||||
var/obj/effect/decal/cleanable/blood/B = locate() in T.contents
|
||||
if(!B) B = new /obj/effect/decal/cleanable/blood(T)
|
||||
B.blood_DNA[M.dna.unique_enzymes] = M.dna.b_type
|
||||
B.blood_DNA[M.dna.unique_enzymes] = M.dna.blood_type
|
||||
return 1 //we bloodied the floor
|
||||
|
||||
//adding blood to humans
|
||||
@@ -361,7 +361,7 @@ var/list/blood_splatter_icons = list()
|
||||
//if this blood isn't already in the list, add it
|
||||
if(blood_DNA[H.dna.unique_enzymes])
|
||||
return 0 //already bloodied with this blood. Cannot add more.
|
||||
blood_DNA[H.dna.unique_enzymes] = H.dna.b_type
|
||||
blood_DNA[H.dna.unique_enzymes] = H.dna.blood_type
|
||||
H.update_inv_gloves() //handles bloody hands overlays and updating
|
||||
return 1 //we applied blood to the item
|
||||
return
|
||||
@@ -385,7 +385,7 @@ var/list/blood_splatter_icons = list()
|
||||
if(check_dna_integrity(M)) //mobs with dna = (monkeys + humans at time of writing)
|
||||
var/obj/effect/decal/cleanable/blood/B = locate() in contents
|
||||
if(!B) B = new(src)
|
||||
B.blood_DNA[M.dna.unique_enzymes] = M.dna.b_type
|
||||
B.blood_DNA[M.dna.unique_enzymes] = M.dna.blood_type
|
||||
else if(istype(M, /mob/living/carbon/alien))
|
||||
var/obj/effect/decal/cleanable/xenoblood/B = locate() in contents
|
||||
if(!B) B = new(src)
|
||||
|
||||
118
code/game/dna.dm
118
code/game/dna.dm
@@ -19,12 +19,12 @@
|
||||
var/unique_enzymes
|
||||
var/struc_enzymes
|
||||
var/uni_identity
|
||||
var/b_type
|
||||
var/blood_type
|
||||
var/mutantrace = null //The type of mutant race the player is if applicable (i.e. potato-man)
|
||||
var/real_name //Stores the real name of the person who originally got this dna datum. Used primarely for changelings,
|
||||
|
||||
/datum/dna/New()
|
||||
if(!b_type) b_type = random_blood_type()
|
||||
if(!blood_type) blood_type = random_blood_type()
|
||||
|
||||
/datum/dna/proc/generate_uni_identity(mob/living/carbon/character)
|
||||
. = ""
|
||||
@@ -33,13 +33,13 @@
|
||||
L[DNA_GENDER_BLOCK] = construct_block((character.gender!=MALE)+1, 2)
|
||||
if(istype(character, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = character
|
||||
L[DNA_HAIR_STYLE_BLOCK] = construct_block(hair_styles_list.Find(H.h_style), hair_styles_list.len)
|
||||
L[DNA_HAIR_COLOR_BLOCK] = sanitize_hexcolor(H.h_color)
|
||||
L[DNA_FACIAL_HAIR_STYLE_BLOCK] = construct_block(hair_styles_list.Find(H.f_style), facial_hair_styles_list.len)
|
||||
L[DNA_FACIAL_HAIR_COLOR_BLOCK] = sanitize_hexcolor(H.f_color)
|
||||
L[DNA_HAIR_STYLE_BLOCK] = construct_block(hair_styles_list.Find(H.hair_style), hair_styles_list.len)
|
||||
L[DNA_HAIR_COLOR_BLOCK] = sanitize_hexcolor(H.hair_color)
|
||||
L[DNA_FACIAL_HAIR_STYLE_BLOCK] = construct_block(hair_styles_list.Find(H.facial_hair_style), facial_hair_styles_list.len)
|
||||
L[DNA_FACIAL_HAIR_COLOR_BLOCK] = sanitize_hexcolor(H.facial_hair_color)
|
||||
L[DNA_SKIN_TONE_BLOCK] = construct_block(skin_tones.Find(H.skin_tone), skin_tones.len)
|
||||
L[DNA_EYE_COLOR_BLOCK] = sanitize_hexcolor(H.eye_color)
|
||||
|
||||
|
||||
for(var/i=1, i<=DNA_UNI_IDENTITY_BLOCKS, i++)
|
||||
if(L[i]) . += L[i]
|
||||
else . += random_string(DNA_BLOCK_SIZE,hex_characters)
|
||||
@@ -70,32 +70,32 @@
|
||||
return
|
||||
if(!owner.dna)
|
||||
owner.dna = new /datum/dna()
|
||||
|
||||
|
||||
if(real_name)
|
||||
owner.real_name = real_name
|
||||
owner.dna.generate_unique_enzymes(owner)
|
||||
|
||||
|
||||
if(blood_type)
|
||||
owner.dna.b_type = blood_type
|
||||
|
||||
owner.dna.blood_type = blood_type
|
||||
|
||||
if(ui)
|
||||
owner.dna.uni_identity = ui
|
||||
updateappearance(owner)
|
||||
|
||||
|
||||
var/update_mutantrace = (mutantrace != owner.dna.mutantrace)
|
||||
owner.dna.mutantrace = mutantrace
|
||||
if(update_mutantrace && istype(owner, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = owner
|
||||
H.update_body()
|
||||
H.update_hair()
|
||||
|
||||
|
||||
if(se)
|
||||
owner.dna.struc_enzymes = se
|
||||
domutcheck(owner)
|
||||
|
||||
|
||||
check_dna_integrity(owner)
|
||||
return owner.dna
|
||||
|
||||
|
||||
/proc/check_dna_integrity(mob/living/carbon/character)
|
||||
if(!istype(character))
|
||||
return
|
||||
@@ -103,9 +103,9 @@
|
||||
if(ready_dna(character))
|
||||
return character.dna
|
||||
return
|
||||
|
||||
|
||||
if(length(character.dna.uni_identity) != DNA_UNI_IDENTITY_BLOCKS*DNA_BLOCK_SIZE)
|
||||
character.dna.uni_identity = character.dna.generate_uni_identity(character)
|
||||
character.dna.uni_identity = character.dna.generate_uni_identity(character)
|
||||
if(length(character.dna.struc_enzymes)!= DNA_STRUC_ENZYMES_BLOCKS*DNA_BLOCK_SIZE)
|
||||
character.dna.struc_enzymes = character.dna.generate_struc_enzymes()
|
||||
if(!character.dna.real_name || length(character.dna.unique_enzymes) != DNA_UNIQUE_ENZYMES_LEN)
|
||||
@@ -118,7 +118,7 @@
|
||||
if(!character.dna)
|
||||
character.dna = new /datum/dna()
|
||||
if(blood_type)
|
||||
character.dna.b_type = blood_type
|
||||
character.dna.blood_type = blood_type
|
||||
character.dna.real_name = character.real_name
|
||||
character.dna.uni_identity = character.dna.generate_uni_identity(character)
|
||||
character.dna.struc_enzymes = character.dna.generate_struc_enzymes(character)
|
||||
@@ -202,17 +202,17 @@
|
||||
/proc/updateappearance(mob/living/carbon/C)
|
||||
if(!check_dna_integrity(C))
|
||||
return 0
|
||||
|
||||
|
||||
var/structure = C.dna.uni_identity
|
||||
C.gender = (deconstruct_block(getblock(structure, DNA_GENDER_BLOCK), 2)-1) ? FEMALE : MALE
|
||||
if(istype(C, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = C
|
||||
H.h_color = sanitize_hexcolor(getblock(structure, DNA_HAIR_COLOR_BLOCK))
|
||||
H.f_color = sanitize_hexcolor(getblock(structure, DNA_FACIAL_HAIR_COLOR_BLOCK))
|
||||
H.hair_color = sanitize_hexcolor(getblock(structure, DNA_HAIR_COLOR_BLOCK))
|
||||
H.facial_hair_color = sanitize_hexcolor(getblock(structure, DNA_FACIAL_HAIR_COLOR_BLOCK))
|
||||
H.skin_tone = skin_tones[deconstruct_block(getblock(structure, DNA_SKIN_TONE_BLOCK), skin_tones.len)]
|
||||
H.eye_color = sanitize_hexcolor(getblock(structure, DNA_EYE_COLOR_BLOCK))
|
||||
H.f_style = facial_hair_styles_list[deconstruct_block(getblock(structure, DNA_FACIAL_HAIR_STYLE_BLOCK), facial_hair_styles_list.len)]
|
||||
H.h_style = hair_styles_list[deconstruct_block(getblock(structure, DNA_HAIR_STYLE_BLOCK), hair_styles_list.len)]
|
||||
H.facial_hair_style = facial_hair_styles_list[deconstruct_block(getblock(structure, DNA_FACIAL_HAIR_STYLE_BLOCK), facial_hair_styles_list.len)]
|
||||
H.hair_style = hair_styles_list[deconstruct_block(getblock(structure, DNA_HAIR_STYLE_BLOCK), hair_styles_list.len)]
|
||||
|
||||
H.update_body()
|
||||
H.update_hair()
|
||||
@@ -236,7 +236,7 @@
|
||||
blocks[i] = (deconstruct_block(getblock(M.dna.struc_enzymes, i), GOOD_MUTATION_DIFFICULTY) == GOOD_MUTATION_DIFFICULTY)
|
||||
for(var/i in op_se_blocks) //Overpowered mutations...extra difficult to obtain
|
||||
blocks[i] = (deconstruct_block(getblock(M.dna.struc_enzymes, i), OP_MUTATION_DIFFICULTY) == OP_MUTATION_DIFFICULTY)
|
||||
|
||||
|
||||
if(blocks[NEARSIGHTEDBLOCK])
|
||||
M.disabilities |= NEARSIGHTED
|
||||
M << "\red Your eyes feel strange."
|
||||
@@ -352,7 +352,7 @@
|
||||
/obj/machinery/dna_scannernew/proc/toggle_open()
|
||||
if(open) return close()
|
||||
else return open()
|
||||
|
||||
|
||||
/obj/machinery/dna_scannernew/proc/close()
|
||||
if(open)
|
||||
open = 0
|
||||
@@ -367,7 +367,7 @@
|
||||
C.stop_pulling()
|
||||
break
|
||||
icon_state = initial(icon_state) + (occupant ? "_occupied" : "")
|
||||
|
||||
|
||||
// search for ghosts, if the corpse is empty and the scanner is connected to a cloner
|
||||
if(occupant)
|
||||
if(locate(/obj/machinery/computer/cloning, get_step(src, NORTH)) \
|
||||
@@ -381,9 +381,9 @@
|
||||
if(ghost.can_reenter_corpse)
|
||||
ghost << "<b><font color = #330033><font size = 3>Your corpse has been placed into a cloning scanner. Return to your body if you want to be resurrected/cloned!</b> (Verbs -> Ghost -> Re-enter corpse)</font color>"
|
||||
break
|
||||
|
||||
|
||||
return 1
|
||||
|
||||
|
||||
/obj/machinery/dna_scannernew/proc/open()
|
||||
if(!open)
|
||||
if(locked)
|
||||
@@ -467,7 +467,7 @@
|
||||
density = 1
|
||||
var/radduration = 2
|
||||
var/radstrength = 1
|
||||
|
||||
|
||||
var/list/buffer[NUMBER_OF_BUFFERS]
|
||||
|
||||
var/injectorready = 0 //Quick fix for issue 286 (screwdriver the screen twice to restore injector) -Pete
|
||||
@@ -612,7 +612,7 @@
|
||||
occupant_status = "<span class='bad'>Invalid DNA structure</span>"
|
||||
else
|
||||
occupant_status = "<span class='bad'>No subject detected</span>"
|
||||
|
||||
|
||||
if(connected.locked)
|
||||
scanner_status = "<span class='bad'>Locked</span>"
|
||||
else
|
||||
@@ -620,7 +620,7 @@
|
||||
else
|
||||
occupant_status = "<span class='bad'>Error: Undefined</span>"
|
||||
scanner_status = "<span class='bad'>Error: No scanner detected</span>"
|
||||
|
||||
|
||||
var/status = "<div class='statusDisplay'>Scanner Status: [scanner_status]<br>Subject Status: [occupant_status]<br>"
|
||||
var/stddev = radstrength*RADIATION_STRENGTH_MULTIPLIER
|
||||
status += "Emitter Array Output Level: [radstrength] <i>Mutation: (-[stddev]<->+[stddev])=68% (-[2*stddev]<->+[2*stddev])=95%</i><br>"
|
||||
@@ -632,7 +632,7 @@
|
||||
if(0.5 to 0.75) chance_to_hit = "55-68%"
|
||||
else chance_to_hit = "<38%"
|
||||
status += "Emitter Array Pulse Duration: [radduration] <i>Accuracy: ([chance_to_hit])</i></div>"
|
||||
|
||||
|
||||
var/buttons = "<a href='?src=\ref[src];'>Scan</a> "
|
||||
if(connected) buttons += "<a href='?src=\ref[src];task=togglelock;'>Toggle Bolts</a> <a href='?src=\ref[src];task=toggleopen;'>[connected.open ? "Close" : "Open"] Scanner</a> "
|
||||
else buttons += "<span class='linkOff'>Toggle Bolts</span> <span class='linkOff'>Open Scanner</span> "
|
||||
@@ -644,7 +644,7 @@
|
||||
else buttons += "<a href='?src=\ref[src];task=screen;text=buffer;'>Buffers</a> "
|
||||
buttons += "<br><a href='?src=\ref[src];task=setstrength;num=[radstrength-1];'>--</a> <a href='?src=\ref[src];task=setstrength;'>Emitter Array Output Level</a> <a href='?src=\ref[src];task=setstrength;num=[radstrength+1];'>++</a>"
|
||||
buttons += "<br><a href='?src=\ref[src];task=setduration;num=[radduration-1];'>--</a> <a href='?src=\ref[src];task=setduration;'>Emitter Array Pulse Duration</a> <a href='?src=\ref[src];task=setduration;num=[radduration+1];'>++</a>"
|
||||
|
||||
|
||||
switch(current_screen)
|
||||
if("working")
|
||||
temp_html += "<h3>System Busy</h3>"
|
||||
@@ -654,7 +654,7 @@
|
||||
temp_html += "<h3>Buffer Menu</h3>"
|
||||
temp_html += status
|
||||
temp_html += buttons
|
||||
|
||||
|
||||
if(istype(buffer))
|
||||
for(var/i=1, i<=buffer.len, i++)
|
||||
temp_html += "<br>Slot [i]: "
|
||||
@@ -673,11 +673,11 @@
|
||||
var/ue = buffer_slot["UE"]
|
||||
var/name = buffer_slot["name"]
|
||||
var/label = buffer_slot["label"]
|
||||
var/b_type = buffer_slot["b_type"]
|
||||
var/blood_type = buffer_slot["blood_type"]
|
||||
temp_html += "<br>\t<a href='?src=\ref[src];task=setbufferlabel;num=[i];'>Label</a>: [label ? label : name]"
|
||||
temp_html += "<br>\tSubject: [name]"
|
||||
if(ue && name && b_type)
|
||||
temp_html += "<br>\tBlood Type: [b_type]"
|
||||
if(ue && name && blood_type)
|
||||
temp_html += "<br>\tBlood Type: [blood_type]"
|
||||
temp_html += "<br>\tUE: [ue] "
|
||||
if(viable_occupant) temp_html += "<a href='?src=\ref[src];task=transferbuffer;num=[i];text=ue'>Occupant</a> "
|
||||
else temp_html += "<span class='linkOff'>Occupant</span>"
|
||||
@@ -713,16 +713,16 @@
|
||||
temp_html += "<h3>Main Menu</h3>"
|
||||
temp_html += status
|
||||
temp_html += buttons
|
||||
|
||||
|
||||
var/max_line_len = 10*DNA_BLOCK_SIZE
|
||||
|
||||
|
||||
temp_html += "<div class='line'><div class='statusLabel'>Unique Enzymes :</div><div class='statusValue'><span class='highlight'>"
|
||||
if(viable_occupant)
|
||||
temp_html += "[viable_occupant.dna.unique_enzymes]"
|
||||
else
|
||||
temp_html += " - "
|
||||
temp_html += "</span></div></div><br>"
|
||||
|
||||
|
||||
temp_html += "<div class='line'><div class='statusLabel'>Unique Identifier:</div><div class='statusValue'><span class='highlight'>"
|
||||
if(viable_occupant)
|
||||
var/len = length(viable_occupant.dna.uni_identity)
|
||||
@@ -735,7 +735,7 @@
|
||||
else
|
||||
temp_html += " - "
|
||||
temp_html += "</span></div></div><br>"
|
||||
|
||||
|
||||
temp_html += "<div class='line'><div class='statusLabel'>Structural Enzymes:</div><div class='statusValue'><span class='highlight'>"
|
||||
if(viable_occupant)
|
||||
var/len = length(viable_occupant.dna.struc_enzymes)
|
||||
@@ -751,7 +751,7 @@
|
||||
|
||||
popup.set_content(temp_html)
|
||||
popup.open()
|
||||
|
||||
|
||||
|
||||
/obj/machinery/computer/scan_consolenew/Topic(href, href_list)
|
||||
if(..())
|
||||
@@ -765,7 +765,7 @@
|
||||
|
||||
add_fingerprint(usr)
|
||||
usr.set_machine(src)
|
||||
|
||||
|
||||
var/mob/living/carbon/viable_occupant
|
||||
if(connected)
|
||||
viable_occupant = connected.occupant
|
||||
@@ -813,7 +813,7 @@
|
||||
"SE"=viable_occupant.dna.struc_enzymes,
|
||||
"UE"=viable_occupant.dna.unique_enzymes,
|
||||
"name"=viable_occupant.real_name,
|
||||
"b_type"=viable_occupant.dna.b_type
|
||||
"blood_type"=viable_occupant.dna.blood_type
|
||||
)
|
||||
if("clearbuffer")
|
||||
if(num)
|
||||
@@ -837,11 +837,11 @@
|
||||
viable_occupant.dna.uni_identity = buffer_slot["UI"]
|
||||
updateappearance(viable_occupant)
|
||||
else
|
||||
if(buffer_slot["name"] && buffer_slot["UE"] && buffer_slot["b_type"])
|
||||
if(buffer_slot["name"] && buffer_slot["UE"] && buffer_slot["blood_type"])
|
||||
viable_occupant.real_name = buffer_slot["name"]
|
||||
viable_occupant.name = buffer_slot["name"]
|
||||
viable_occupant.dna.unique_enzymes = buffer_slot["UE"]
|
||||
viable_occupant.dna.b_type = buffer_slot["b_type"]
|
||||
viable_occupant.dna.blood_type = buffer_slot["blood_type"]
|
||||
updateappearance(viable_occupant)
|
||||
if("injector")
|
||||
if(num && injectorready)
|
||||
@@ -859,9 +859,9 @@
|
||||
I = new /obj/item/weapon/dnainjector(loc)
|
||||
I.fields = list("UI"=buffer_slot["UI"])
|
||||
else
|
||||
if(buffer_slot["name"] && buffer_slot["UE"] && buffer_slot["b_type"])
|
||||
if(buffer_slot["name"] && buffer_slot["UE"] && buffer_slot["blood_type"])
|
||||
I = new /obj/item/weapon/dnainjector(loc)
|
||||
I.fields = list("name"=buffer_slot["name"], "UE"=buffer_slot["UE"], "b_type"=buffer_slot["b_type"])
|
||||
I.fields = list("name"=buffer_slot["name"], "UE"=buffer_slot["UE"], "blood_type"=buffer_slot["blood_type"])
|
||||
if(I)
|
||||
injectorready = 0
|
||||
spawn(INJECTOR_TIMEOUT)
|
||||
@@ -888,13 +888,13 @@
|
||||
|
||||
var/locked_state = connected.locked
|
||||
connected.locked = 1
|
||||
|
||||
|
||||
current_screen = "working"
|
||||
ShowInterface(usr)
|
||||
|
||||
|
||||
sleep(radduration*10)
|
||||
current_screen = "mainmenu"
|
||||
|
||||
|
||||
if(viable_occupant && connected && connected.occupant==viable_occupant)
|
||||
viable_occupant.radiation += RADIATION_IRRADIATION_MULTIPLIER*radduration*radstrength
|
||||
switch(href_list["task"])
|
||||
@@ -902,42 +902,42 @@
|
||||
var/len = length(viable_occupant.dna.uni_identity)
|
||||
num = Wrap(num, 1, len+1)
|
||||
num = randomize_radiation_accuracy(num, radduration, len)
|
||||
|
||||
|
||||
var/block = round((num-1)/DNA_BLOCK_SIZE)+1
|
||||
var/subblock = num - block*DNA_BLOCK_SIZE
|
||||
last_change = "UI #[block]-[subblock]; "
|
||||
|
||||
|
||||
var/hex = copytext(viable_occupant.dna.uni_identity, num, num+1)
|
||||
last_change += "[hex]"
|
||||
hex = scramble(hex, radstrength, radduration)
|
||||
last_change += "->[hex]"
|
||||
|
||||
|
||||
viable_occupant.dna.uni_identity = copytext(viable_occupant.dna.uni_identity, 1, num) + hex + copytext(viable_occupant.dna.uni_identity, num+1, 0)
|
||||
updateappearance(viable_occupant)
|
||||
if("pulsese")
|
||||
var/len = length(viable_occupant.dna.struc_enzymes)
|
||||
num = Wrap(num, 1, len+1)
|
||||
num = randomize_radiation_accuracy(num, radduration, len)
|
||||
|
||||
|
||||
var/block = round((num-1)/DNA_BLOCK_SIZE)+1
|
||||
var/subblock = num - block*DNA_BLOCK_SIZE
|
||||
last_change = "SE #[block]-[subblock]; "
|
||||
|
||||
|
||||
var/hex = copytext(viable_occupant.dna.struc_enzymes, num, num+1)
|
||||
last_change += "[hex]"
|
||||
hex = scramble(hex, radstrength, radduration)
|
||||
last_change += "->[hex]"
|
||||
|
||||
|
||||
viable_occupant.dna.struc_enzymes = copytext(viable_occupant.dna.struc_enzymes, 1, num) + hex + copytext(viable_occupant.dna.struc_enzymes, num+1, 0)
|
||||
domutcheck(viable_occupant, connected)
|
||||
else
|
||||
current_screen = "mainmenu"
|
||||
|
||||
|
||||
if(connected)
|
||||
connected.locked = locked_state
|
||||
|
||||
ShowInterface(usr,last_change)
|
||||
|
||||
|
||||
|
||||
/////////////////////////// DNA MACHINES
|
||||
#undef INJECTOR_TIMEOUT
|
||||
|
||||
@@ -574,7 +574,7 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
|
||||
R.word3 = w3
|
||||
R.check_icon()
|
||||
R.blood_DNA = list()
|
||||
R.blood_DNA[H.dna.unique_enzymes] = H.dna.b_type
|
||||
R.blood_DNA[H.dna.unique_enzymes] = H.dna.blood_type
|
||||
return
|
||||
else
|
||||
user << "The book seems full of illegible scribbles. Is this a joke?"
|
||||
@@ -620,7 +620,7 @@ var/engwords = list("travel", "blood", "join", "hell", "destroy", "technology",
|
||||
if(istype(user, /mob/living/carbon/human))
|
||||
var/mob/living/carbon/human/H = user
|
||||
R.blood_DNA = list()
|
||||
R.blood_DNA[H.dna.unique_enzymes] = H.dna.b_type
|
||||
R.blood_DNA[H.dna.unique_enzymes] = H.dna.blood_type
|
||||
switch(r)
|
||||
if("teleport")
|
||||
var/list/words = list("ire", "ego", "nahlizet", "certum", "veri", "jatkaa", "balaq", "mgar", "karazet", "geeri")
|
||||
|
||||
@@ -746,7 +746,7 @@ var/global/mulebot_count = 0
|
||||
|
||||
var/obj/effect/decal/cleanable/blood/B = new(src.loc)
|
||||
B.blood_DNA = list()
|
||||
B.blood_DNA[H.dna.unique_enzymes] = H.dna.b_type
|
||||
B.blood_DNA[H.dna.unique_enzymes] = H.dna.blood_type
|
||||
|
||||
bloodiness += 4
|
||||
|
||||
|
||||
@@ -166,10 +166,10 @@
|
||||
randmutb(H) //Sometimes the clones come out wrong.
|
||||
|
||||
if(H.gender == MALE)
|
||||
H.f_style = "Full Beard"
|
||||
H.facial_hair_style = "Full Beard"
|
||||
else
|
||||
H.f_style = "Shaved"
|
||||
H.h_style = pick("Bedhead", "Bedhead 2", "Bedhead 3")
|
||||
H.facial_hair_style = "Shaved"
|
||||
H.hair_style = pick("Bedhead", "Bedhead 2", "Bedhead 3")
|
||||
|
||||
H.suiciding = 0
|
||||
src.attempting = 0
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
if(table.check_patient())
|
||||
patient = table.patient
|
||||
dat += {"<B>Patient Status:</B> [patient.stat ? "Non-Responsive" : "Stable"]<BR>
|
||||
<B>Blood Type:</B> [patient.b_type]<BR>
|
||||
<B>Blood Type:</B> [patient.blood_type]<BR>
|
||||
<BR>
|
||||
<B>Health:</B> [round(patient.health)]<BR>
|
||||
<B>Brute Damage:</B> [round(patient.getBruteLoss())]<BR>
|
||||
|
||||
@@ -169,7 +169,7 @@
|
||||
var/list/L = list()
|
||||
if(diskette.fields["UI"])
|
||||
L += "Unique Identifier"
|
||||
if(diskette.fields["UE"] && diskette.fields["name"] && diskette.fields["b_type"])
|
||||
if(diskette.fields["UE"] && diskette.fields["name"] && diskette.fields["blood_type"])
|
||||
L += "Unique Enzymes"
|
||||
if(diskette.fields["SE"])
|
||||
L += "Structural Enzymes"
|
||||
@@ -268,10 +268,10 @@
|
||||
src.menu = 1
|
||||
src.updateUsrDialog()
|
||||
return
|
||||
|
||||
|
||||
src.active_record.fields = diskette.fields.Copy()
|
||||
src.temp = "Load successful."
|
||||
|
||||
|
||||
if("eject")
|
||||
if(src.diskette)
|
||||
src.diskette.loc = src.loc
|
||||
@@ -280,8 +280,8 @@
|
||||
if(!diskette || diskette.read_only || !active_record || !active_record.fields)
|
||||
src.temp = "<font class='bad'>Save error.</font>"
|
||||
src.updateUsrDialog()
|
||||
return
|
||||
|
||||
return
|
||||
|
||||
diskette.fields = active_record.fields.Copy()
|
||||
diskette.name = "data disk - '[src.diskette.fields["name"]]'"
|
||||
src.temp = "Save successful."
|
||||
@@ -351,7 +351,7 @@
|
||||
R.fields["UE"] = subject.dna.unique_enzymes
|
||||
R.fields["UI"] = subject.dna.uni_identity
|
||||
R.fields["SE"] = subject.dna.struc_enzymes
|
||||
R.fields["b_type"] = subject.dna.b_type
|
||||
R.fields["blood_type"] = subject.dna.blood_type
|
||||
|
||||
//Add an implant if needed
|
||||
var/obj/item/weapon/implant/health/imp = locate(/obj/item/weapon/implant/health, subject)
|
||||
|
||||
@@ -59,7 +59,7 @@
|
||||
else
|
||||
dat += "<B>General Record Lost!</B><BR>"
|
||||
if ((istype(src.active2, /datum/data/record) && data_core.medical.Find(src.active2)))
|
||||
dat += text("<BR>\n<CENTER><B>Medical Data</B></CENTER><BR>\nBlood Type: <A href='?src=\ref[];field=b_type'>[]</A><BR>\nDNA: <A href='?src=\ref[];field=b_dna'>[]</A><BR>\n<BR>\nMinor Disabilities: <A href='?src=\ref[];field=mi_dis'>[]</A><BR>\nDetails: <A href='?src=\ref[];field=mi_dis_d'>[]</A><BR>\n<BR>\nMajor Disabilities: <A href='?src=\ref[];field=ma_dis'>[]</A><BR>\nDetails: <A href='?src=\ref[];field=ma_dis_d'>[]</A><BR>\n<BR>\nAllergies: <A href='?src=\ref[];field=alg'>[]</A><BR>\nDetails: <A href='?src=\ref[];field=alg_d'>[]</A><BR>\n<BR>\nCurrent Diseases: <A href='?src=\ref[];field=cdi'>[]</A> (per disease info placed in log/comment section)<BR>\nDetails: <A href='?src=\ref[];field=cdi_d'>[]</A><BR>\n<BR>\nImportant Notes:<BR>\n\t<A href='?src=\ref[];field=notes'>[]</A><BR>\n<BR>\n<CENTER><B>Comments/Log</B></CENTER><BR>", src, src.active2.fields["b_type"], src, src.active2.fields["b_dna"], src, src.active2.fields["mi_dis"], src, src.active2.fields["mi_dis_d"], src, src.active2.fields["ma_dis"], src, src.active2.fields["ma_dis_d"], src, src.active2.fields["alg"], src, src.active2.fields["alg_d"], src, src.active2.fields["cdi"], src, src.active2.fields["cdi_d"], src, src.active2.fields["notes"])
|
||||
dat += text("<BR>\n<CENTER><B>Medical Data</B></CENTER><BR>\nBlood Type: <A href='?src=\ref[];field=blood_type'>[]</A><BR>\nDNA: <A href='?src=\ref[];field=b_dna'>[]</A><BR>\n<BR>\nMinor Disabilities: <A href='?src=\ref[];field=mi_dis'>[]</A><BR>\nDetails: <A href='?src=\ref[];field=mi_dis_d'>[]</A><BR>\n<BR>\nMajor Disabilities: <A href='?src=\ref[];field=ma_dis'>[]</A><BR>\nDetails: <A href='?src=\ref[];field=ma_dis_d'>[]</A><BR>\n<BR>\nAllergies: <A href='?src=\ref[];field=alg'>[]</A><BR>\nDetails: <A href='?src=\ref[];field=alg_d'>[]</A><BR>\n<BR>\nCurrent Diseases: <A href='?src=\ref[];field=cdi'>[]</A> (per disease info placed in log/comment section)<BR>\nDetails: <A href='?src=\ref[];field=cdi_d'>[]</A><BR>\n<BR>\nImportant Notes:<BR>\n\t<A href='?src=\ref[];field=notes'>[]</A><BR>\n<BR>\n<CENTER><B>Comments/Log</B></CENTER><BR>", src, src.active2.fields["blood_type"], src, src.active2.fields["b_dna"], src, src.active2.fields["mi_dis"], src, src.active2.fields["mi_dis_d"], src, src.active2.fields["ma_dis"], src, src.active2.fields["ma_dis_d"], src, src.active2.fields["alg"], src, src.active2.fields["alg_d"], src, src.active2.fields["cdi"], src, src.active2.fields["cdi_d"], src, src.active2.fields["notes"])
|
||||
var/counter = 1
|
||||
while(src.active2.fields[text("com_[]", counter)])
|
||||
dat += text("[]<BR><A href='?src=\ref[];del_c=[]'>Delete Entry</A><BR><BR>", src.active2.fields[text("com_[]", counter)], src, counter)
|
||||
@@ -269,9 +269,9 @@
|
||||
if("m_stat")
|
||||
if (istype(src.active1, /datum/data/record))
|
||||
src.temp = text("<B>Mental Condition:</B><BR>\n\t<A href='?src=\ref[];temp=1;m_stat=insane'>*Insane*</A><BR>\n\t<A href='?src=\ref[];temp=1;m_stat=unstable'>*Unstable*</A><BR>\n\t<A href='?src=\ref[];temp=1;m_stat=watch'>*Watch*</A><BR>\n\t<A href='?src=\ref[];temp=1;m_stat=stable'>Stable</A><BR>", src, src, src, src)
|
||||
if("b_type")
|
||||
if("blood_type")
|
||||
if (istype(src.active2, /datum/data/record))
|
||||
src.temp = text("<B>Blood Type:</B><BR>\n\t<A href='?src=\ref[];temp=1;b_type=an'>A-</A> <A href='?src=\ref[];temp=1;b_type=ap'>A+</A><BR>\n\t<A href='?src=\ref[];temp=1;b_type=bn'>B-</A> <A href='?src=\ref[];temp=1;b_type=bp'>B+</A><BR>\n\t<A href='?src=\ref[];temp=1;b_type=abn'>AB-</A> <A href='?src=\ref[];temp=1;b_type=abp'>AB+</A><BR>\n\t<A href='?src=\ref[];temp=1;b_type=on'>O-</A> <A href='?src=\ref[];temp=1;b_type=op'>O+</A><BR>", src, src, src, src, src, src, src, src)
|
||||
src.temp = text("<B>Blood Type:</B><BR>\n\t<A href='?src=\ref[];temp=1;blood_type=an'>A-</A> <A href='?src=\ref[];temp=1;blood_type=ap'>A+</A><BR>\n\t<A href='?src=\ref[];temp=1;blood_type=bn'>B-</A> <A href='?src=\ref[];temp=1;blood_type=bp'>B+</A><BR>\n\t<A href='?src=\ref[];temp=1;blood_type=abn'>AB-</A> <A href='?src=\ref[];temp=1;blood_type=abp'>AB+</A><BR>\n\t<A href='?src=\ref[];temp=1;blood_type=on'>O-</A> <A href='?src=\ref[];temp=1;blood_type=op'>O+</A><BR>", src, src, src, src, src, src, src, src)
|
||||
if("b_dna")
|
||||
if (istype(src.active1, /datum/data/record))
|
||||
var/t1 = copytext(sanitize(input("Please input DNA hash:", "Med. records", src.active1.fields["dna"], null) as text),1,MAX_MESSAGE_LEN)
|
||||
@@ -305,25 +305,25 @@
|
||||
src.active1.fields["m_stat"] = "Stable"
|
||||
|
||||
|
||||
if (href_list["b_type"])
|
||||
if (href_list["blood_type"])
|
||||
if (src.active2)
|
||||
switch(href_list["b_type"])
|
||||
switch(href_list["blood_type"])
|
||||
if("an")
|
||||
src.active2.fields["b_type"] = "A-"
|
||||
src.active2.fields["blood_type"] = "A-"
|
||||
if("bn")
|
||||
src.active2.fields["b_type"] = "B-"
|
||||
src.active2.fields["blood_type"] = "B-"
|
||||
if("abn")
|
||||
src.active2.fields["b_type"] = "AB-"
|
||||
src.active2.fields["blood_type"] = "AB-"
|
||||
if("on")
|
||||
src.active2.fields["b_type"] = "O-"
|
||||
src.active2.fields["blood_type"] = "O-"
|
||||
if("ap")
|
||||
src.active2.fields["b_type"] = "A+"
|
||||
src.active2.fields["blood_type"] = "A+"
|
||||
if("bp")
|
||||
src.active2.fields["b_type"] = "B+"
|
||||
src.active2.fields["blood_type"] = "B+"
|
||||
if("abp")
|
||||
src.active2.fields["b_type"] = "AB+"
|
||||
src.active2.fields["blood_type"] = "AB+"
|
||||
if("op")
|
||||
src.active2.fields["b_type"] = "O+"
|
||||
src.active2.fields["blood_type"] = "O+"
|
||||
|
||||
|
||||
if (href_list["del_r"])
|
||||
@@ -356,7 +356,7 @@
|
||||
R.fields["name"] = src.active1.fields["name"]
|
||||
R.fields["id"] = src.active1.fields["id"]
|
||||
R.name = text("Medical Record #[]", R.fields["id"])
|
||||
R.fields["b_type"] = "Unknown"
|
||||
R.fields["blood_type"] = "Unknown"
|
||||
R.fields["b_dna"] = "Unknown"
|
||||
R.fields["mi_dis"] = "None"
|
||||
R.fields["mi_dis_d"] = "No minor disabilities have been declared."
|
||||
@@ -420,7 +420,7 @@
|
||||
else
|
||||
P.info += "<B>General Record Lost!</B><BR>"
|
||||
if ((istype(src.active2, /datum/data/record) && data_core.medical.Find(src.active2)))
|
||||
P.info += text("<BR>\n<CENTER><B>Medical Data</B></CENTER><BR>\nBlood Type: []<BR>\nDNA: []<BR>\n<BR>\nMinor Disabilities: []<BR>\nDetails: []<BR>\n<BR>\nMajor Disabilities: []<BR>\nDetails: []<BR>\n<BR>\nAllergies: []<BR>\nDetails: []<BR>\n<BR>\nCurrent Diseases: [] (per disease info placed in log/comment section)<BR>\nDetails: []<BR>\n<BR>\nImportant Notes:<BR>\n\t[]<BR>\n<BR>\n<CENTER><B>Comments/Log</B></CENTER><BR>", src.active2.fields["b_type"], src.active2.fields["b_dna"], src.active2.fields["mi_dis"], src.active2.fields["mi_dis_d"], src.active2.fields["ma_dis"], src.active2.fields["ma_dis_d"], src.active2.fields["alg"], src.active2.fields["alg_d"], src.active2.fields["cdi"], src.active2.fields["cdi_d"], src.active2.fields["notes"])
|
||||
P.info += text("<BR>\n<CENTER><B>Medical Data</B></CENTER><BR>\nBlood Type: []<BR>\nDNA: []<BR>\n<BR>\nMinor Disabilities: []<BR>\nDetails: []<BR>\n<BR>\nMajor Disabilities: []<BR>\nDetails: []<BR>\n<BR>\nAllergies: []<BR>\nDetails: []<BR>\n<BR>\nCurrent Diseases: [] (per disease info placed in log/comment section)<BR>\nDetails: []<BR>\n<BR>\nImportant Notes:<BR>\n\t[]<BR>\n<BR>\n<CENTER><B>Comments/Log</B></CENTER><BR>", src.active2.fields["blood_type"], src.active2.fields["b_dna"], src.active2.fields["mi_dis"], src.active2.fields["mi_dis_d"], src.active2.fields["ma_dis"], src.active2.fields["ma_dis_d"], src.active2.fields["alg"], src.active2.fields["alg_d"], src.active2.fields["cdi"], src.active2.fields["cdi_d"], src.active2.fields["notes"])
|
||||
var/counter = 1
|
||||
while(src.active2.fields[text("com_[]", counter)])
|
||||
P.info += text("[]<BR>", src.active2.fields[text("com_[]", counter)])
|
||||
@@ -450,7 +450,7 @@
|
||||
if(3)
|
||||
R.fields["age"] = rand(5, 85)
|
||||
if(4)
|
||||
R.fields["b_type"] = pick("A-", "B-", "AB-", "O-", "A+", "B+", "AB+", "O+")
|
||||
R.fields["blood_type"] = pick("A-", "B-", "AB-", "O-", "A+", "B+", "AB+", "O+")
|
||||
if(5)
|
||||
R.fields["p_stat"] = pick("*Unconcious*", "Active", "Physically Unfit")
|
||||
if(6)
|
||||
|
||||
@@ -53,7 +53,7 @@
|
||||
|
||||
gib.blood_DNA = list()
|
||||
if(MobDNA)
|
||||
gib.blood_DNA[MobDNA.unique_enzymes] = MobDNA.b_type
|
||||
gib.blood_DNA[MobDNA.unique_enzymes] = MobDNA.blood_type
|
||||
else if(istype(src, /obj/effect/gibspawner/xeno))
|
||||
gib.blood_DNA["UNKNOWN DNA"] = "X*"
|
||||
else if(istype(src, /obj/effect/gibspawner/human)) // Probably a monkey
|
||||
|
||||
@@ -369,7 +369,7 @@ Code:
|
||||
|
||||
menu += "<h4><img src=pda_medical.png> Medical Data</h4>"
|
||||
if (istype(active2, /datum/data/record) && (active2 in data_core.medical))
|
||||
menu += "Blood Type: [active2.fields["b_type"]]<br><br>"
|
||||
menu += "Blood Type: [active2.fields["blood_type"]]<br><br>"
|
||||
|
||||
menu += "Minor Disabilities: [active2.fields["mi_dis"]]<br>"
|
||||
menu += "Details: [active2.fields["mi_dis_d"]]<br><br>"
|
||||
|
||||
@@ -99,9 +99,9 @@
|
||||
|
||||
/obj/item/weapon/razor/proc/shave(mob/living/carbon/human/H, location = "mouth")
|
||||
if(location == "mouth")
|
||||
H.f_style = "Shaved"
|
||||
H.facial_hair_style = "Shaved"
|
||||
else
|
||||
H.h_style = "Skinhead"
|
||||
H.hair_style = "Skinhead"
|
||||
|
||||
H.update_hair()
|
||||
playsound(loc, 'sound/items/Welder2.ogg', 20, 1)
|
||||
@@ -116,7 +116,7 @@
|
||||
if(!get_location_accessible(H, location))
|
||||
user << "<span class='notice'>The mask is in the way.</span>"
|
||||
return
|
||||
if(H.f_style == "Shaved")
|
||||
if(H.facial_hair_style == "Shaved")
|
||||
user << "<span class='notice'>Already clean-shaven.</span>"
|
||||
return
|
||||
|
||||
@@ -141,7 +141,7 @@
|
||||
if(!get_location_accessible(H, location))
|
||||
user << "<span class='notice'>The headgear is in the way.</span>"
|
||||
return
|
||||
if(H.h_style == "Bald" || H.h_style == "Balding Hair" || H.h_style == "Skinhead")
|
||||
if(H.hair_style == "Bald" || H.hair_style == "Balding Hair" || H.hair_style == "Skinhead")
|
||||
user << "<span class='notice'>There is not enough hair left to shave!</span>"
|
||||
return
|
||||
|
||||
|
||||
@@ -21,11 +21,11 @@
|
||||
M.radiation += rand(20, 50)
|
||||
if(fields)
|
||||
var/log_msg = "[key_name(user)] injected [key_name(M)] with the [name]"
|
||||
if(fields["name"] && fields["UE"] && fields["b_type"])
|
||||
if(fields["name"] && fields["UE"] && fields["blood_type"])
|
||||
M.real_name = fields["name"]
|
||||
M.dna.unique_enzymes = fields["UE"]
|
||||
M.name = M.real_name
|
||||
M.dna.b_type = fields["b_type"]
|
||||
M.dna.blood_type = fields["blood_type"]
|
||||
if(fields["UI"]) //UI+UE
|
||||
M.dna.uni_identity = merge_text(M.dna.uni_identity, fields["UI"])
|
||||
updateappearance(M)
|
||||
@@ -44,7 +44,7 @@
|
||||
if(!ishuman(user))
|
||||
user << "<span class='notice'>You don't have the dexterity to do this!</span>"
|
||||
return
|
||||
|
||||
|
||||
target.attack_log += "\[[time_stamp()]\] <font color='orange'>[user.name] ([user.ckey]) attempted to inject with [name]</font>"
|
||||
user.attack_log += "\[[time_stamp()]\] <font color='red'>Used the [name] to attempt to inject [target.name] ([target.ckey])</font>"
|
||||
log_attack("<font color='red'>[user.name] ([user.ckey]) used the [name] to attempt to inject [target.name] ([target.ckey])</font>")
|
||||
|
||||
@@ -25,15 +25,15 @@
|
||||
var/new_style = input(user, "Select a facial hair style", "Grooming") as null|anything in facial_hair_styles_list
|
||||
if(userloc != H.loc) return //no tele-grooming
|
||||
if(new_style)
|
||||
H.f_style = new_style
|
||||
H.facial_hair_style = new_style
|
||||
else
|
||||
H.f_style = "Shaved"
|
||||
H.facial_hair_style = "Shaved"
|
||||
|
||||
//handle normal hair
|
||||
var/new_style = input(user, "Select a hair style", "Grooming") as null|anything in hair_styles_list
|
||||
if(userloc != H.loc) return //no tele-grooming
|
||||
if(new_style)
|
||||
H.h_style = new_style
|
||||
H.hair_style = new_style
|
||||
|
||||
H.update_hair()
|
||||
|
||||
|
||||
@@ -302,29 +302,29 @@
|
||||
message_admins("\blue [key_name_admin(usr)] has used rudimentary transformation on [key_name_admin(M)]. Transforming to [href_list["simplemake"]]; deletemob=[delmob]", 1)
|
||||
|
||||
switch(href_list["simplemake"])
|
||||
if("observer") M.change_mob_type( /mob/dead/observer , null, null, delmob )
|
||||
if("drone") M.change_mob_type( /mob/living/carbon/alien/humanoid/drone , null, null, delmob )
|
||||
if("hunter") M.change_mob_type( /mob/living/carbon/alien/humanoid/hunter , null, null, delmob )
|
||||
if("queen") M.change_mob_type( /mob/living/carbon/alien/humanoid/queen , null, null, delmob )
|
||||
if("sentinel") M.change_mob_type( /mob/living/carbon/alien/humanoid/sentinel , null, null, delmob )
|
||||
if("larva") M.change_mob_type( /mob/living/carbon/alien/larva , null, null, delmob )
|
||||
if("human") M.change_mob_type( /mob/living/carbon/human , null, null, delmob )
|
||||
if("slime") M.change_mob_type( /mob/living/carbon/slime , null, null, delmob )
|
||||
if("adultslime") M.change_mob_type( /mob/living/carbon/slime/adult , null, null, delmob )
|
||||
if("monkey") M.change_mob_type( /mob/living/carbon/monkey , null, null, delmob )
|
||||
if("robot") M.change_mob_type( /mob/living/silicon/robot , null, null, delmob )
|
||||
if("cat") M.change_mob_type( /mob/living/simple_animal/cat , null, null, delmob )
|
||||
if("runtime") M.change_mob_type( /mob/living/simple_animal/cat/Runtime , null, null, delmob )
|
||||
if("corgi") M.change_mob_type( /mob/living/simple_animal/corgi , null, null, delmob )
|
||||
if("ian") M.change_mob_type( /mob/living/simple_animal/corgi/Ian , null, null, delmob )
|
||||
if("crab") M.change_mob_type( /mob/living/simple_animal/crab , null, null, delmob )
|
||||
if("coffee") M.change_mob_type( /mob/living/simple_animal/crab/Coffee , null, null, delmob )
|
||||
if("parrot") M.change_mob_type( /mob/living/simple_animal/parrot , null, null, delmob )
|
||||
if("polyparrot") M.change_mob_type( /mob/living/simple_animal/parrot/Poly , null, null, delmob )
|
||||
if("constructarmoured") M.change_mob_type( /mob/living/simple_animal/construct/armoured , null, null, delmob )
|
||||
if("constructbuilder") M.change_mob_type( /mob/living/simple_animal/construct/builder , null, null, delmob )
|
||||
if("constructwraith") M.change_mob_type( /mob/living/simple_animal/construct/wraith , null, null, delmob )
|
||||
if("shade") M.change_mob_type( /mob/living/simple_animal/shade , null, null, delmob )
|
||||
if("observer") M.change_moblood_type( /mob/dead/observer , null, null, delmob )
|
||||
if("drone") M.change_moblood_type( /mob/living/carbon/alien/humanoid/drone , null, null, delmob )
|
||||
if("hunter") M.change_moblood_type( /mob/living/carbon/alien/humanoid/hunter , null, null, delmob )
|
||||
if("queen") M.change_moblood_type( /mob/living/carbon/alien/humanoid/queen , null, null, delmob )
|
||||
if("sentinel") M.change_moblood_type( /mob/living/carbon/alien/humanoid/sentinel , null, null, delmob )
|
||||
if("larva") M.change_moblood_type( /mob/living/carbon/alien/larva , null, null, delmob )
|
||||
if("human") M.change_moblood_type( /mob/living/carbon/human , null, null, delmob )
|
||||
if("slime") M.change_moblood_type( /mob/living/carbon/slime , null, null, delmob )
|
||||
if("adultslime") M.change_moblood_type( /mob/living/carbon/slime/adult , null, null, delmob )
|
||||
if("monkey") M.change_moblood_type( /mob/living/carbon/monkey , null, null, delmob )
|
||||
if("robot") M.change_moblood_type( /mob/living/silicon/robot , null, null, delmob )
|
||||
if("cat") M.change_moblood_type( /mob/living/simple_animal/cat , null, null, delmob )
|
||||
if("runtime") M.change_moblood_type( /mob/living/simple_animal/cat/Runtime , null, null, delmob )
|
||||
if("corgi") M.change_moblood_type( /mob/living/simple_animal/corgi , null, null, delmob )
|
||||
if("ian") M.change_moblood_type( /mob/living/simple_animal/corgi/Ian , null, null, delmob )
|
||||
if("crab") M.change_moblood_type( /mob/living/simple_animal/crab , null, null, delmob )
|
||||
if("coffee") M.change_moblood_type( /mob/living/simple_animal/crab/Coffee , null, null, delmob )
|
||||
if("parrot") M.change_moblood_type( /mob/living/simple_animal/parrot , null, null, delmob )
|
||||
if("polyparrot") M.change_moblood_type( /mob/living/simple_animal/parrot/Poly , null, null, delmob )
|
||||
if("constructarmoured") M.change_moblood_type( /mob/living/simple_animal/construct/armoured , null, null, delmob )
|
||||
if("constructbuilder") M.change_moblood_type( /mob/living/simple_animal/construct/builder , null, null, delmob )
|
||||
if("constructwraith") M.change_moblood_type( /mob/living/simple_animal/construct/wraith , null, null, delmob )
|
||||
if("shade") M.change_moblood_type( /mob/living/simple_animal/shade , null, null, delmob )
|
||||
|
||||
|
||||
/////////////////////////////////////new ban stuff
|
||||
@@ -1994,7 +1994,7 @@
|
||||
feedback_inc("admin_secrets_fun_used",1)
|
||||
feedback_add_details("admin_secrets_fun_used","DF")
|
||||
for(var/mob/living/carbon/human/B in mob_list)
|
||||
B.f_style = "Dward Beard"
|
||||
B.facial_hair_style = "Dward Beard"
|
||||
B.update_hair()
|
||||
message_admins("[key_name_admin(usr)] activated dorf mode")
|
||||
if("ionstorm")
|
||||
@@ -2076,7 +2076,7 @@
|
||||
dat += "<table cellspacing=5><tr><th>Name</th><th>DNA</th><th>Blood Type</th></tr>"
|
||||
for(var/mob/living/carbon/human/H in mob_list)
|
||||
if(H.dna && H.ckey)
|
||||
dat += "<tr><td>[H]</td><td>[H.dna.unique_enzymes]</td><td>[H.b_type]</td></tr>"
|
||||
dat += "<tr><td>[H]</td><td>[H.dna.unique_enzymes]</td><td>[H.blood_type]</td></tr>"
|
||||
dat += "</table>"
|
||||
usr << browse(dat, "window=DNA;size=440x410")
|
||||
if("fingerprints")
|
||||
|
||||
@@ -134,7 +134,7 @@ proc/cmd_admin_mute(whom, mute_type, automute = 0)
|
||||
if(MUTE_DEADCHAT) mute_string = "deadchat and DSAY"
|
||||
if(MUTE_ALL) mute_string = "everything"
|
||||
else return
|
||||
|
||||
|
||||
var/client/C
|
||||
if(istype(whom, /client))
|
||||
C = whom
|
||||
@@ -142,12 +142,12 @@ proc/cmd_admin_mute(whom, mute_type, automute = 0)
|
||||
C = directory[whom]
|
||||
else
|
||||
return
|
||||
|
||||
|
||||
var/datum/preferences/P
|
||||
if(C) P = C.prefs
|
||||
else P = preferences_datums[whom]
|
||||
if(!P) return
|
||||
|
||||
|
||||
if(automute)
|
||||
if(!config.automute_on) return
|
||||
else
|
||||
@@ -306,7 +306,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
new_character.real_name = record_found.fields["name"]
|
||||
new_character.gender = record_found.fields["sex"]
|
||||
new_character.age = record_found.fields["age"]
|
||||
new_character.b_type = record_found.fields["b_type"]
|
||||
new_character.blood_type = record_found.fields["blood_type"]
|
||||
else
|
||||
new_character.gender = pick(MALE,FEMALE)
|
||||
var/datum/preferences/A = new()
|
||||
@@ -326,7 +326,7 @@ Traitors and the like can also be revived with the previous role mostly intact.
|
||||
|
||||
//DNA
|
||||
if(record_found)//Pull up their name from database records if they did have a mind.
|
||||
hardset_dna(new_character, record_found.fields["identity"], record_found.fields["enzymes"], record_found.fields["name"], null, record_found.fields["b_type"])
|
||||
hardset_dna(new_character, record_found.fields["identity"], record_found.fields["enzymes"], record_found.fields["name"], null, record_found.fields["blood_type"])
|
||||
else//If they have no records, we just do a random DNA for them, based on their random appearance/savefile.
|
||||
ready_dna(new_character)
|
||||
|
||||
|
||||
@@ -42,13 +42,13 @@ datum/preferences
|
||||
var/be_random_name = 0 //whether we are a random name every round
|
||||
var/gender = MALE //gender of character (well duh)
|
||||
var/age = 30 //age of character
|
||||
var/b_type = "A+" //blood type (not-chooseable)
|
||||
var/blood_type = "A+" //blood type (not-chooseable)
|
||||
var/underwear = "Nude" //underwear type
|
||||
var/backbag = 2 //backpack type
|
||||
var/h_style = "Bald" //Hair type
|
||||
var/h_color = "000" //Hair color
|
||||
var/f_style = "Shaved" //Face hair type
|
||||
var/f_color = "000" //Facial hair color
|
||||
var/hair_style = "Bald" //Hair type
|
||||
var/hair_color = "000" //Hair color
|
||||
var/facial_hair_style = "Shaved" //Face hair type
|
||||
var/facial_hair_color = "000" //Facial hair color
|
||||
var/skin_tone = "caucasian1" //Skin color
|
||||
var/eye_color = "000" //Eye color
|
||||
|
||||
@@ -81,7 +81,7 @@ datum/preferences
|
||||
var/unlock_content = 0
|
||||
|
||||
/datum/preferences/New(client/C)
|
||||
b_type = random_blood_type()
|
||||
blood_type = random_blood_type()
|
||||
ooccolor = normal_ooc_colour
|
||||
if(istype(C))
|
||||
if(!IsGuestKey(C.key))
|
||||
@@ -161,7 +161,7 @@ datum/preferences
|
||||
|
||||
dat += "<table width='100%'><tr><td width='24%' valign='top'>"
|
||||
|
||||
dat += "<b>Blood Type:</b> [b_type]<BR>"
|
||||
dat += "<b>Blood Type:</b> [blood_type]<BR>"
|
||||
dat += "<b>Skin Tone:</b><BR><a href='?_src_=prefs;preference=s_tone;task=input'>[skin_tone]</a><BR>"
|
||||
dat += "<b>Underwear:</b><BR><a href ='?_src_=prefs;preference=underwear;task=input'>[underwear]</a><BR>"
|
||||
dat += "<b>Backpack:</b><BR><a href ='?_src_=prefs;preference=bag;task=input'>[backbaglist[backbag]]</a><BR>"
|
||||
@@ -171,16 +171,16 @@ datum/preferences
|
||||
|
||||
dat += "<h3>Hair Style</h3>"
|
||||
|
||||
dat += "<a href='?_src_=prefs;preference=h_style;task=input'>[h_style]</a><BR>"
|
||||
dat += "<span style='border:1px solid #161616; background-color: #[h_color];'> </span> <a href='?_src_=prefs;preference=hair;task=input'>Change</a><BR>"
|
||||
dat += "<a href='?_src_=prefs;preference=hair_style;task=input'>[hair_style]</a><BR>"
|
||||
dat += "<span style='border:1px solid #161616; background-color: #[hair_color];'> </span> <a href='?_src_=prefs;preference=hair;task=input'>Change</a><BR>"
|
||||
|
||||
|
||||
dat += "</td><td valign='top' width='28%'>"
|
||||
|
||||
dat += "<h3>Facial Hair Style</h3>"
|
||||
|
||||
dat += "<a href='?_src_=prefs;preference=f_style;task=input'>[f_style]</a><BR>"
|
||||
dat += "<span style='border: 1px solid #161616; background-color: #[f_color];'> </span> <a href='?_src_=prefs;preference=facial;task=input'>Change</a><BR>"
|
||||
dat += "<a href='?_src_=prefs;preference=facial_hair_style;task=input'>[facial_hair_style]</a><BR>"
|
||||
dat += "<span style='border: 1px solid #161616; background-color: #[facial_hair_color];'> </span> <a href='?_src_=prefs;preference=facial;task=input'>Change</a><BR>"
|
||||
|
||||
|
||||
dat += "</td><td valign='top'>"
|
||||
@@ -520,13 +520,13 @@ datum/preferences
|
||||
if("age")
|
||||
age = rand(AGE_MIN, AGE_MAX)
|
||||
if("hair")
|
||||
h_color = random_short_color()
|
||||
if("h_style")
|
||||
h_style = random_hair_style(gender)
|
||||
hair_color = random_short_color()
|
||||
if("hair_style")
|
||||
hair_style = random_hair_style(gender)
|
||||
if("facial")
|
||||
f_color = random_short_color()
|
||||
if("f_style")
|
||||
f_style = random_facial_hair_style(gender)
|
||||
facial_hair_color = random_short_color()
|
||||
if("facial_hair_style")
|
||||
facial_hair_style = random_facial_hair_style(gender)
|
||||
if("underwear")
|
||||
underwear = random_underwear(gender)
|
||||
if("eyes")
|
||||
@@ -565,31 +565,31 @@ datum/preferences
|
||||
if("hair")
|
||||
var/new_hair = input(user, "Choose your character's hair colour:", "Character Preference") as null|color
|
||||
if(new_hair)
|
||||
h_color = sanitize_hexcolor(new_hair)
|
||||
hair_color = sanitize_hexcolor(new_hair)
|
||||
|
||||
|
||||
if("h_style")
|
||||
var/new_h_style
|
||||
if("hair_style")
|
||||
var/new_hair_style
|
||||
if(gender == MALE)
|
||||
new_h_style = input(user, "Choose your character's hair style:", "Character Preference") as null|anything in hair_styles_male_list
|
||||
new_hair_style = input(user, "Choose your character's hair style:", "Character Preference") as null|anything in hair_styles_male_list
|
||||
else
|
||||
new_h_style = input(user, "Choose your character's hair style:", "Character Preference") as null|anything in hair_styles_female_list
|
||||
if(new_h_style)
|
||||
h_style = new_h_style
|
||||
new_hair_style = input(user, "Choose your character's hair style:", "Character Preference") as null|anything in hair_styles_female_list
|
||||
if(new_hair_style)
|
||||
hair_style = new_hair_style
|
||||
|
||||
if("facial")
|
||||
var/new_facial = input(user, "Choose your character's facial-hair colour:", "Character Preference") as null|color
|
||||
if(new_facial)
|
||||
f_color = sanitize_hexcolor(new_facial)
|
||||
facial_hair_color = sanitize_hexcolor(new_facial)
|
||||
|
||||
if("f_style")
|
||||
var/new_f_style
|
||||
if("facial_hair_style")
|
||||
var/new_facial_hair_style
|
||||
if(gender == MALE)
|
||||
new_f_style = input(user, "Choose your character's facial-hair style:", "Character Preference") as null|anything in facial_hair_styles_male_list
|
||||
new_facial_hair_style = input(user, "Choose your character's facial-hair style:", "Character Preference") as null|anything in facial_hair_styles_male_list
|
||||
else
|
||||
new_f_style = input(user, "Choose your character's facial-hair style:", "Character Preference") as null|anything in facial_hair_styles_female_list
|
||||
if(new_f_style)
|
||||
f_style = new_f_style
|
||||
new_facial_hair_style = input(user, "Choose your character's facial-hair style:", "Character Preference") as null|anything in facial_hair_styles_female_list
|
||||
if(new_facial_hair_style)
|
||||
facial_hair_style = new_facial_hair_style
|
||||
|
||||
if("underwear")
|
||||
var/new_underwear
|
||||
@@ -630,8 +630,8 @@ datum/preferences
|
||||
else
|
||||
gender = MALE
|
||||
underwear = random_underwear(gender)
|
||||
f_style = random_facial_hair_style(gender)
|
||||
h_style = random_hair_style(gender)
|
||||
facial_hair_style = random_facial_hair_style(gender)
|
||||
hair_style = random_hair_style(gender)
|
||||
|
||||
if("hear_adminhelps")
|
||||
toggles ^= SOUND_ADMINHELP
|
||||
@@ -708,15 +708,15 @@ datum/preferences
|
||||
|
||||
character.gender = gender
|
||||
character.age = age
|
||||
character.b_type = b_type
|
||||
character.blood_type = blood_type
|
||||
|
||||
character.eye_color = eye_color
|
||||
character.h_color = h_color
|
||||
character.f_color = f_color
|
||||
character.hair_color = hair_color
|
||||
character.facial_hair_color = facial_hair_color
|
||||
|
||||
character.skin_tone = skin_tone
|
||||
character.h_style = h_style
|
||||
character.f_style = f_style
|
||||
character.hair_style = hair_style
|
||||
character.facial_hair_style = facial_hair_style
|
||||
character.underwear = underwear
|
||||
|
||||
if(backbag > 3 || backbag < 1)
|
||||
|
||||
@@ -157,12 +157,12 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
S["name_is_always_random"] >> be_random_name
|
||||
S["gender"] >> gender
|
||||
S["age"] >> age
|
||||
S["hair_color"] >> h_color
|
||||
S["facial_hair_color"] >> f_color
|
||||
S["hair_color"] >> hair_color
|
||||
S["facial_hair_color"] >> facial_hair_color
|
||||
S["eye_color"] >> eye_color
|
||||
S["skin_tone"] >> skin_tone
|
||||
S["hair_style_name"] >> h_style
|
||||
S["facial_style_name"] >> f_style
|
||||
S["hair_style_name"] >> hair_style
|
||||
S["facial_style_name"] >> facial_hair_style
|
||||
S["underwear"] >> underwear
|
||||
S["backbag"] >> backbag
|
||||
|
||||
@@ -189,16 +189,16 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
be_random_name = sanitize_integer(be_random_name, 0, 1, initial(be_random_name))
|
||||
gender = sanitize_gender(gender)
|
||||
if(gender == MALE)
|
||||
h_style = sanitize_inlist(h_style, hair_styles_male_list)
|
||||
f_style = sanitize_inlist(f_style, facial_hair_styles_male_list)
|
||||
hair_style = sanitize_inlist(hair_style, hair_styles_male_list)
|
||||
facial_hair_style = sanitize_inlist(facial_hair_style, facial_hair_styles_male_list)
|
||||
underwear = sanitize_inlist(underwear, underwear_m)
|
||||
else
|
||||
h_style = sanitize_inlist(h_style, hair_styles_female_list)
|
||||
f_style = sanitize_inlist(f_style, facial_hair_styles_female_list)
|
||||
hair_style = sanitize_inlist(hair_style, hair_styles_female_list)
|
||||
facial_hair_style = sanitize_inlist(facial_hair_style, facial_hair_styles_female_list)
|
||||
underwear = sanitize_inlist(underwear, underwear_f)
|
||||
age = sanitize_integer(age, AGE_MIN, AGE_MAX, initial(age))
|
||||
h_color = sanitize_hexcolor(h_color, 3, 0)
|
||||
f_color = sanitize_hexcolor(f_color, 3, 0)
|
||||
hair_color = sanitize_hexcolor(hair_color, 3, 0)
|
||||
facial_hair_color = sanitize_hexcolor(facial_hair_color, 3, 0)
|
||||
eye_color = sanitize_hexcolor(eye_color, 3, 0)
|
||||
skin_tone = sanitize_inlist(skin_tone, skin_tones)
|
||||
backbag = sanitize_integer(backbag, 1, backbaglist.len, initial(backbag))
|
||||
@@ -230,12 +230,12 @@ SAVEFILE UPDATING/VERSIONING - 'Simplified', or rather, more coder-friendly ~Car
|
||||
S["name_is_always_random"] << be_random_name
|
||||
S["gender"] << gender
|
||||
S["age"] << age
|
||||
S["hair_color"] << h_color
|
||||
S["facial_hair_color"] << f_color
|
||||
S["hair_color"] << hair_color
|
||||
S["facial_hair_color"] << facial_hair_color
|
||||
S["eye_color"] << eye_color
|
||||
S["skin_tone"] << skin_tone
|
||||
S["hair_style_name"] << h_style
|
||||
S["facial_style_name"] << f_style
|
||||
S["hair_style_name"] << hair_style
|
||||
S["facial_style_name"] << facial_hair_style
|
||||
S["underwear"] << underwear
|
||||
S["backbag"] << backbag
|
||||
|
||||
|
||||
@@ -159,8 +159,8 @@
|
||||
if(!istype(user)) return
|
||||
mob = new/icon("icon" = 'icons/mob/head.dmi', "icon_state" = "kitty")
|
||||
mob2 = new/icon("icon" = 'icons/mob/head.dmi', "icon_state" = "kitty2")
|
||||
mob.Blend("#[user.h_color]", ICON_ADD)
|
||||
mob2.Blend("#[user.h_color]", ICON_ADD)
|
||||
mob.Blend("#[user.hair_color]", ICON_ADD)
|
||||
mob2.Blend("#[user.hair_color]", ICON_ADD)
|
||||
|
||||
var/icon/earbit = new/icon("icon" = 'icons/mob/head.dmi', "icon_state" = "kittyinner")
|
||||
var/icon/earbit2 = new/icon("icon" = 'icons/mob/head.dmi', "icon_state" = "kittyinner2")
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
/mob/living/carbon/human
|
||||
//Hair colour and style
|
||||
var/h_color = "000"
|
||||
var/h_style = "Bald"
|
||||
var/hair_color = "000"
|
||||
var/hair_style = "Bald"
|
||||
|
||||
//Facial hair colour and style
|
||||
var/f_color = "000"
|
||||
var/f_style = "Shaved"
|
||||
var/facial_hair_color = "000"
|
||||
var/facial_hair_style = "Shaved"
|
||||
|
||||
//Eye colour
|
||||
var/eye_color = "000"
|
||||
@@ -15,7 +15,7 @@
|
||||
var/lip_style = null //no lipstick by default- arguably misleading, as it could be used for general makeup
|
||||
|
||||
var/age = 30 //Player's age (pure fluff)
|
||||
var/b_type = "A+" //Player's bloodtype (Not currently used, just character fluff)
|
||||
var/blood_type = "A+" //Player's bloodtype (Not currently used, just character fluff)
|
||||
|
||||
var/underwear = "Nude" //Which underwear the player wants
|
||||
var/backbag = 2 //Which backpack type the player has chosen. Nothing, Satchel or Backpack.
|
||||
|
||||
@@ -204,11 +204,11 @@
|
||||
src << "\red You feel weak."
|
||||
emote("collapse")
|
||||
if(prob(15))
|
||||
if(!(f_style == "Shaved") || !(h_style == "Bald"))
|
||||
if(!( hair_style == "Shaved") || !(hair_style == "Bald"))
|
||||
src << "<span class='danger'>Your hair starts to fall out in clumps...<span>"
|
||||
spawn(50)
|
||||
f_style = "Shaved"
|
||||
h_style = "Bald"
|
||||
facial_hair_style = "Shaved"
|
||||
hair_style = "Bald"
|
||||
update_hair()
|
||||
updatehealth()
|
||||
|
||||
|
||||
@@ -42,7 +42,7 @@ There are several things that need to be remembered:
|
||||
> There are also these special cases:
|
||||
update_mutations() //handles updating your appearance for certain mutations. e.g TK head-glows
|
||||
update_damage_overlays() //handles damage overlays for brute/burn damage
|
||||
update_base_icon_state() //Handles updating var/base_icon_state (WIP) This is used to update the
|
||||
update_base_icon_state() //Handles updating var/base_icon_state (WIP) This is used to update the
|
||||
mob's icon_state easily e.g. "[base_icon_state]_s" is the standing icon_state
|
||||
update_body() //Handles updating your mob's icon_state (using update_base_icon_state())
|
||||
as well as sprite-accessories that didn't really fit elsewhere (underwear, lips, eyes)
|
||||
@@ -99,8 +99,8 @@ Please contact me on #coderbus IRC. ~Carnie x
|
||||
if(HUSK in mutations)
|
||||
base_icon_state = "husk"
|
||||
else
|
||||
base_icon_state = "[skin_tone]_[(gender == FEMALE) ? "f" : "m"]"
|
||||
|
||||
base_icon_state = "[skin_tone]_[(gender == FEMALE) ? "f" : "m"]"
|
||||
|
||||
|
||||
/mob/living/carbon/human/proc/apply_overlay(cache_index)
|
||||
var/image/I = lying ? overlays_lying[cache_index] : overlays_standing[cache_index]
|
||||
@@ -122,7 +122,7 @@ Please contact me on #coderbus IRC. ~Carnie x
|
||||
lying_prev = lying //so we don't update overlays for lying/standing unless our stance changes again
|
||||
update_hud() //TODO: remove the need for this
|
||||
overlays.Cut()
|
||||
|
||||
|
||||
if(lying) //can't be cloaked whilst lying down
|
||||
icon_state = "[base_icon_state]_l"
|
||||
for(var/thing in overlays_lying)
|
||||
@@ -154,12 +154,12 @@ Please contact me on #coderbus IRC. ~Carnie x
|
||||
//constructs damage icon for each organ from mask * damage field and saves it in our overlays_ lists
|
||||
/mob/living/carbon/human/update_damage_overlays()
|
||||
remove_overlay(DAMAGE_LAYER)
|
||||
|
||||
|
||||
var/image/standing = image("icon"='icons/mob/dam_human.dmi', "icon_state"="blank", "layer"=-DAMAGE_LAYER)
|
||||
var/image/lying = image("icon"='icons/mob/dam_human.dmi', "icon_state"="blank2", "layer"=-DAMAGE_LAYER)
|
||||
overlays_standing[DAMAGE_LAYER] = standing
|
||||
overlays_lying[DAMAGE_LAYER] = lying
|
||||
|
||||
|
||||
for(var/datum/limb/O in organs)
|
||||
if(O.brutestate)
|
||||
standing.overlays += "[O.icon_name]_[O.brutestate]0" //we're adding icon_states of the base image as overlays
|
||||
@@ -167,7 +167,7 @@ Please contact me on #coderbus IRC. ~Carnie x
|
||||
if(O.burnstate)
|
||||
standing.overlays += "[O.icon_name]_0[O.burnstate]"
|
||||
lying.overlays += "[O.icon_name]2_0[O.burnstate]"
|
||||
|
||||
|
||||
apply_overlay(DAMAGE_LAYER)
|
||||
|
||||
|
||||
@@ -181,16 +181,17 @@ Please contact me on #coderbus IRC. ~Carnie x
|
||||
return
|
||||
|
||||
//base icons
|
||||
var/datum/sprite_accessory/S
|
||||
var/list/standing = list()
|
||||
var/list/lying = list()
|
||||
|
||||
if(f_style)
|
||||
var/datum/sprite_accessory/facial_hair_style = facial_hair_styles_list[f_style]
|
||||
if(facial_hair_style)
|
||||
var/icon/facial_s = icon("icon"=facial_hair_style.icon, "icon_state"="[facial_hair_style.icon_state]_s")
|
||||
var/icon/facial_l = icon("icon"=facial_hair_style.icon, "icon_state"="[facial_hair_style.icon_state]_l")
|
||||
facial_s.Blend("#[f_color]", ICON_ADD)
|
||||
facial_l.Blend("#[f_color]", ICON_ADD)
|
||||
|
||||
if(facial_hair_style)
|
||||
S = facial_hair_styles_list[facial_hair_style]
|
||||
if(S)
|
||||
var/icon/facial_s = icon("icon"=S.icon, "icon_state"="[S.icon_state]_s")
|
||||
var/icon/facial_l = icon("icon"=S.icon, "icon_state"="[S.icon_state]_l")
|
||||
facial_s.Blend("#[facial_hair_color]", ICON_ADD)
|
||||
facial_l.Blend("#[facial_hair_color]", ICON_ADD)
|
||||
standing += image("icon"=facial_s, "layer"=-HAIR_LAYER)
|
||||
lying += image("icon"=facial_l, "layer"=-HAIR_LAYER)
|
||||
|
||||
@@ -198,21 +199,21 @@ Please contact me on #coderbus IRC. ~Carnie x
|
||||
if(!getbrain(src))
|
||||
standing += image("icon"='icons/mob/human_face.dmi', "icon_state"="debrained_s", "layer"=-HAIR_LAYER)
|
||||
lying += image("icon"='icons/mob/human_face.dmi', "icon_state"="debrained_l", "layer"=-HAIR_LAYER)
|
||||
else if(h_style)
|
||||
var/datum/sprite_accessory/hair_style = hair_styles_list[h_style]
|
||||
if(hair_style)
|
||||
var/icon/hair_s = icon("icon"=hair_style.icon, "icon_state"="[hair_style.icon_state]_s")
|
||||
var/icon/hair_l = icon("icon"=hair_style.icon, "icon_state"="[hair_style.icon_state]_l")
|
||||
hair_s.Blend("#[h_color]", ICON_ADD)
|
||||
hair_l.Blend("#[h_color]", ICON_ADD)
|
||||
else if(hair_style)
|
||||
S = hair_styles_list[hair_style]
|
||||
if(S)
|
||||
var/icon/hair_s = icon("icon"=S.icon, "icon_state"="[S.icon_state]_s")
|
||||
var/icon/hair_l = icon("icon"=S.icon, "icon_state"="[S.icon_state]_l")
|
||||
hair_s.Blend("#[hair_color]", ICON_ADD)
|
||||
hair_l.Blend("#[hair_color]", ICON_ADD)
|
||||
standing += image("icon"=hair_s, "layer"=-HAIR_LAYER)
|
||||
lying += image("icon"=hair_l, "layer"=-HAIR_LAYER)
|
||||
|
||||
if(lying.len)
|
||||
overlays_lying[HAIR_LAYER] = lying
|
||||
if(standing.len)
|
||||
overlays_standing[HAIR_LAYER] = standing
|
||||
|
||||
overlays_standing[HAIR_LAYER] = standing
|
||||
|
||||
apply_overlay(HAIR_LAYER)
|
||||
|
||||
|
||||
@@ -221,7 +222,7 @@ Please contact me on #coderbus IRC. ~Carnie x
|
||||
|
||||
var/list/standing = list()
|
||||
var/list/lying = list()
|
||||
|
||||
|
||||
var/g = (gender == FEMALE) ? "f" : "m"
|
||||
for(var/mut in mutations)
|
||||
switch(mut)
|
||||
@@ -241,19 +242,19 @@ Please contact me on #coderbus IRC. ~Carnie x
|
||||
overlays_lying[MUTATIONS_LAYER] = lying
|
||||
if(standing.len)
|
||||
overlays_standing[MUTATIONS_LAYER] = standing
|
||||
|
||||
|
||||
apply_overlay(MUTATIONS_LAYER)
|
||||
|
||||
|
||||
/mob/living/carbon/human/proc/update_body()
|
||||
remove_overlay(BODY_LAYER)
|
||||
|
||||
|
||||
update_base_icon_state()
|
||||
icon_state = "[base_icon_state]_[src.lying ? "l" : "s"]"
|
||||
|
||||
|
||||
var/list/lying = list()
|
||||
var/list/standing = list()
|
||||
|
||||
|
||||
//Mouth (lipstick!)
|
||||
if(lip_style)
|
||||
standing += image("icon"='icons/mob/human_face.dmi', "icon_state"="lips_[lip_style]_s", "layer"=-BODY_LAYER)
|
||||
@@ -274,12 +275,12 @@ Please contact me on #coderbus IRC. ~Carnie x
|
||||
if(U)
|
||||
standing += image("icon"=U.icon, "icon_state"="[U.icon_state]_s", "layer"=-BODY_LAYER)
|
||||
lying += image("icon"=U.icon, "icon_state"="[U.icon_state]_l", "layer"=-BODY_LAYER)
|
||||
|
||||
|
||||
if(lying.len)
|
||||
overlays_lying[BODY_LAYER] = lying
|
||||
if(standing.len)
|
||||
overlays_standing[BODY_LAYER] = standing
|
||||
|
||||
|
||||
apply_overlay(BODY_LAYER)
|
||||
|
||||
/* --------------------------------------- */
|
||||
@@ -315,24 +316,24 @@ Please contact me on #coderbus IRC. ~Carnie x
|
||||
|
||||
/mob/living/carbon/human/update_inv_w_uniform()
|
||||
remove_overlay(UNIFORM_LAYER)
|
||||
|
||||
|
||||
if(istype(w_uniform, /obj/item/clothing/under))
|
||||
var/obj/item/clothing/under/U = w_uniform
|
||||
if(client && hud_used && hud_used.hud_shown && hud_used.inventory_shown)
|
||||
w_uniform.screen_loc = ui_iclothing
|
||||
client.screen += w_uniform
|
||||
|
||||
|
||||
var/t_color = w_uniform.color
|
||||
if(!t_color) t_color = icon_state
|
||||
var/image/lying = image("icon"='icons/mob/uniform.dmi', "icon_state"="[t_color]_l", "layer"=-UNIFORM_LAYER)
|
||||
var/image/standing = image("icon"='icons/mob/uniform.dmi', "icon_state"="[t_color]_s", "layer"=-UNIFORM_LAYER)
|
||||
overlays_lying[UNIFORM_LAYER] = lying
|
||||
overlays_standing[UNIFORM_LAYER] = standing
|
||||
|
||||
|
||||
if(w_uniform.blood_DNA)
|
||||
lying.overlays += image("icon"='icons/effects/blood.dmi', "icon_state"="uniformblood2")
|
||||
standing.overlays += image("icon"='icons/effects/blood.dmi', "icon_state"="uniformblood")
|
||||
|
||||
|
||||
if(U.hastie)
|
||||
var/tie_color = U.hastie.color
|
||||
if(!tie_color) tie_color = U.hastie.icon_state
|
||||
@@ -342,7 +343,7 @@ Please contact me on #coderbus IRC. ~Carnie x
|
||||
// Automatically drop anything in store / id / belt if you're not wearing a uniform. //CHECK IF NECESARRY
|
||||
for(var/obj/item/thing in list(r_store, l_store, wear_id, belt)) //
|
||||
drop_from_inventory(thing)
|
||||
|
||||
|
||||
apply_overlay(UNIFORM_LAYER)
|
||||
|
||||
|
||||
@@ -352,10 +353,10 @@ Please contact me on #coderbus IRC. ~Carnie x
|
||||
if(client && hud_used && hud_used.hud_shown)
|
||||
wear_id.screen_loc = ui_id //TODO
|
||||
client.screen += wear_id
|
||||
|
||||
|
||||
overlays_lying[ID_LAYER] = image("icon"='icons/mob/mob.dmi', "icon_state"="id2", "layer"=-ID_LAYER)
|
||||
overlays_standing[ID_LAYER] = image("icon"='icons/mob/mob.dmi', "icon_state"="id", "layer"=-ID_LAYER)
|
||||
|
||||
|
||||
apply_overlay(ID_LAYER)
|
||||
|
||||
|
||||
@@ -372,7 +373,7 @@ Please contact me on #coderbus IRC. ~Carnie x
|
||||
var/image/standing = image("icon"='icons/mob/hands.dmi', "icon_state"="[t_state]", "layer"=-GLOVES_LAYER)
|
||||
overlays_lying[GLOVES_LAYER] = lying
|
||||
overlays_standing[GLOVES_LAYER] = standing
|
||||
|
||||
|
||||
if(gloves.blood_DNA)
|
||||
lying.overlays += image("icon"='icons/effects/blood.dmi', "icon_state"="bloodyhands2")
|
||||
standing.overlays += image("icon"='icons/effects/blood.dmi', "icon_state"="bloodyhands")
|
||||
@@ -380,19 +381,19 @@ Please contact me on #coderbus IRC. ~Carnie x
|
||||
if(blood_DNA)
|
||||
overlays_lying[GLOVES_LAYER] = image("icon"='icons/effects/blood.dmi', "icon_state"="bloodyhands2")
|
||||
overlays_standing[GLOVES_LAYER] = image("icon"='icons/effects/blood.dmi', "icon_state"="bloodyhands")
|
||||
|
||||
|
||||
apply_overlay(GLOVES_LAYER)
|
||||
|
||||
|
||||
|
||||
/mob/living/carbon/human/update_inv_glasses()
|
||||
remove_overlay(GLASSES_LAYER)
|
||||
|
||||
|
||||
if(glasses)
|
||||
if(client && hud_used && hud_used.hud_shown && hud_used.inventory_shown)
|
||||
glasses.screen_loc = ui_glasses
|
||||
client.screen += glasses
|
||||
|
||||
|
||||
overlays_lying[GLASSES_LAYER] = image("icon"='icons/mob/eyes.dmi', "icon_state"="[glasses.icon_state]2", "layer"=-GLASSES_LAYER)
|
||||
overlays_standing[GLASSES_LAYER] = image("icon"='icons/mob/eyes.dmi', "icon_state"="[glasses.icon_state]", "layer"=-GLASSES_LAYER)
|
||||
|
||||
@@ -401,63 +402,63 @@ Please contact me on #coderbus IRC. ~Carnie x
|
||||
|
||||
/mob/living/carbon/human/update_inv_ears()
|
||||
remove_overlay(EARS_LAYER)
|
||||
|
||||
|
||||
if(ears)
|
||||
if(client && hud_used && hud_used.hud_shown && hud_used.inventory_shown)
|
||||
ears.screen_loc = ui_ears
|
||||
client.screen += ears
|
||||
|
||||
|
||||
overlays_lying[EARS_LAYER] = image("icon"='icons/mob/ears.dmi', "icon_state"="[ears.icon_state]2", "layer"=-EARS_LAYER)
|
||||
overlays_standing[EARS_LAYER] = image("icon"='icons/mob/ears.dmi', "icon_state"="[ears.icon_state]", "layer"=-EARS_LAYER)
|
||||
|
||||
|
||||
apply_overlay(EARS_LAYER)
|
||||
|
||||
|
||||
/mob/living/carbon/human/update_inv_shoes()
|
||||
remove_overlay(SHOES_LAYER)
|
||||
|
||||
|
||||
if(shoes)
|
||||
if(client && hud_used && hud_used.hud_shown && hud_used.inventory_shown)
|
||||
shoes.screen_loc = ui_shoes
|
||||
client.screen += shoes
|
||||
|
||||
|
||||
var/image/lying = image("icon"='icons/mob/feet.dmi', "icon_state"="[shoes.icon_state]2", "layer"=-SHOES_LAYER)
|
||||
var/image/standing = image("icon"='icons/mob/feet.dmi', "icon_state"="[shoes.icon_state]", "layer"=-SHOES_LAYER)
|
||||
overlays_lying[SHOES_LAYER] = lying
|
||||
overlays_standing[SHOES_LAYER] = standing
|
||||
|
||||
|
||||
if(shoes.blood_DNA)
|
||||
lying.overlays += image("icon"='icons/effects/blood.dmi', "icon_state"="shoeblood2")
|
||||
standing.overlays += image("icon"='icons/effects/blood.dmi', "icon_state"="shoeblood")
|
||||
|
||||
|
||||
apply_overlay(SHOES_LAYER)
|
||||
|
||||
|
||||
/mob/living/carbon/human/update_inv_s_store()
|
||||
remove_overlay(SUIT_STORE_LAYER)
|
||||
|
||||
|
||||
if(s_store)
|
||||
if(client && hud_used && hud_used.hud_shown)
|
||||
s_store.screen_loc = ui_sstore1 //TODO
|
||||
client.screen += s_store
|
||||
|
||||
|
||||
var/t_state = s_store.item_state
|
||||
if(!t_state) t_state = s_store.icon_state
|
||||
overlays_lying[SUIT_STORE_LAYER] = image("icon"='icons/mob/belt_mirror.dmi', "icon_state"="[t_state]2", "layer"=-SUIT_STORE_LAYER)
|
||||
overlays_standing[SUIT_STORE_LAYER] = image("icon"='icons/mob/belt_mirror.dmi', "icon_state"="[t_state]", "layer"=-SUIT_STORE_LAYER)
|
||||
|
||||
|
||||
apply_overlay(SUIT_STORE_LAYER)
|
||||
|
||||
|
||||
|
||||
/mob/living/carbon/human/update_inv_head()
|
||||
remove_overlay(HEAD_LAYER)
|
||||
|
||||
|
||||
if(head)
|
||||
if(client && hud_used && hud_used.hud_shown && hud_used.inventory_shown)
|
||||
head.screen_loc = ui_head //TODO
|
||||
client.screen += head
|
||||
|
||||
|
||||
var/image/lying
|
||||
var/image/standing
|
||||
if(istype(head,/obj/item/clothing/head/kitty))
|
||||
@@ -469,22 +470,22 @@ Please contact me on #coderbus IRC. ~Carnie x
|
||||
standing = image("icon"='icons/mob/head.dmi', "icon_state"="[head.icon_state]", "layer"=-HEAD_LAYER)
|
||||
overlays_lying[HEAD_LAYER] = lying
|
||||
overlays_standing[HEAD_LAYER] = standing
|
||||
|
||||
|
||||
if(head.blood_DNA)
|
||||
lying.overlays += image("icon"='icons/effects/blood.dmi', "icon_state"="helmetblood2")
|
||||
standing.overlays += image("icon"='icons/effects/blood.dmi', "icon_state"="helmetblood")
|
||||
|
||||
|
||||
apply_overlay(HEAD_LAYER)
|
||||
|
||||
|
||||
/mob/living/carbon/human/update_inv_belt()
|
||||
remove_overlay(BELT_LAYER)
|
||||
|
||||
|
||||
if(belt)
|
||||
if(client && hud_used && hud_used.hud_shown)
|
||||
belt.screen_loc = ui_belt
|
||||
client.screen += belt
|
||||
|
||||
|
||||
var/t_state = belt.item_state
|
||||
if(!t_state) t_state = belt.icon_state
|
||||
overlays_lying[BELT_LAYER] = image("icon"='icons/mob/belt.dmi', "icon_state"="[t_state]2", "layer"=-BELT_LAYER)
|
||||
@@ -496,12 +497,12 @@ Please contact me on #coderbus IRC. ~Carnie x
|
||||
|
||||
/mob/living/carbon/human/update_inv_wear_suit()
|
||||
remove_overlay(SUIT_LAYER)
|
||||
|
||||
|
||||
if(istype(wear_suit, /obj/item/clothing/suit))
|
||||
if(client && hud_used && hud_used.hud_shown && hud_used.inventory_shown)
|
||||
wear_suit.screen_loc = ui_oclothing //TODO
|
||||
client.screen += wear_suit
|
||||
|
||||
|
||||
var/image/lying = image("icon"='icons/mob/suit.dmi', "icon_state"="[wear_suit.icon_state]2", "layer"=-SUIT_LAYER)
|
||||
var/image/standing = image("icon"='icons/mob/suit.dmi', "icon_state"="[wear_suit.icon_state]", "layer"=-SUIT_LAYER)
|
||||
overlays_lying[SUIT_LAYER] = lying
|
||||
@@ -533,36 +534,36 @@ Please contact me on #coderbus IRC. ~Carnie x
|
||||
|
||||
/mob/living/carbon/human/update_inv_wear_mask()
|
||||
remove_overlay(FACEMASK_LAYER)
|
||||
|
||||
|
||||
if(istype(wear_mask, /obj/item/clothing/mask))
|
||||
if(client && hud_used && hud_used.hud_shown && hud_used.inventory_shown)
|
||||
wear_mask.screen_loc = ui_mask //TODO
|
||||
client.screen += wear_mask
|
||||
|
||||
|
||||
var/image/lying = image("icon"='icons/mob/mask.dmi', "icon_state"="[wear_mask.icon_state]2", "layer"=-FACEMASK_LAYER)
|
||||
var/image/standing = image("icon"='icons/mob/mask.dmi', "icon_state"="[wear_mask.icon_state]", "layer"=-FACEMASK_LAYER)
|
||||
overlays_lying[FACEMASK_LAYER] = lying
|
||||
overlays_standing[FACEMASK_LAYER] = standing
|
||||
|
||||
|
||||
if(wear_mask.blood_DNA && !istype(wear_mask, /obj/item/clothing/mask/cigarette))
|
||||
lying.overlays += image("icon"='icons/effects/blood.dmi', "icon_state"="maskblood2")
|
||||
standing.overlays += image("icon"='icons/effects/blood.dmi', "icon_state"="maskblood")
|
||||
|
||||
|
||||
apply_overlay(FACEMASK_LAYER)
|
||||
|
||||
|
||||
|
||||
/mob/living/carbon/human/update_inv_back()
|
||||
remove_overlay(BACK_LAYER)
|
||||
|
||||
|
||||
if(back)
|
||||
if(client && hud_used && hud_used.hud_shown)
|
||||
back.screen_loc = ui_back //TODO
|
||||
client.screen += back
|
||||
|
||||
|
||||
overlays_lying[BACK_LAYER] = image("icon"='icons/mob/back.dmi', "icon_state"="[back.icon_state]2", "layer"=-BACK_LAYER)
|
||||
overlays_standing[BACK_LAYER] = image("icon"='icons/mob/back.dmi', "icon_state"="[back.icon_state]", "layer"=-BACK_LAYER)
|
||||
|
||||
|
||||
apply_overlay(BACK_LAYER)
|
||||
|
||||
|
||||
@@ -576,7 +577,7 @@ Please contact me on #coderbus IRC. ~Carnie x
|
||||
|
||||
/mob/living/carbon/human/update_inv_handcuffed()
|
||||
remove_overlay(HANDCUFF_LAYER)
|
||||
|
||||
|
||||
if(handcuffed)
|
||||
drop_r_hand()
|
||||
drop_l_hand()
|
||||
@@ -595,19 +596,19 @@ Please contact me on #coderbus IRC. ~Carnie x
|
||||
var/obj/screen/inventory/L = hud_used.adding[4]
|
||||
R.overlays = null
|
||||
L.overlays = null
|
||||
|
||||
|
||||
apply_overlay(HANDCUFF_LAYER)
|
||||
|
||||
|
||||
/mob/living/carbon/human/update_inv_legcuffed()
|
||||
remove_overlay(LEGCUFF_LAYER)
|
||||
|
||||
|
||||
if(legcuffed)
|
||||
if(src.m_intent != "walk")
|
||||
src.m_intent = "walk"
|
||||
if(src.hud_used && src.hud_used.move_intent)
|
||||
src.hud_used.move_intent.icon_state = "walking"
|
||||
|
||||
|
||||
overlays_lying[LEGCUFF_LAYER] = image("icon"='icons/mob/mob.dmi', "icon_state"="legcuff2", "layer"=-LEGCUFF_LAYER)
|
||||
overlays_standing[LEGCUFF_LAYER] = image("icon"='icons/mob/mob.dmi', "icon_state"="legcuff1", "layer"=-LEGCUFF_LAYER)
|
||||
|
||||
@@ -617,34 +618,34 @@ Please contact me on #coderbus IRC. ~Carnie x
|
||||
|
||||
/mob/living/carbon/human/update_inv_r_hand()
|
||||
remove_overlay(R_HAND_LAYER)
|
||||
|
||||
|
||||
if(r_hand)
|
||||
if(client)
|
||||
r_hand.screen_loc = ui_rhand //TODO
|
||||
client.screen += r_hand
|
||||
|
||||
|
||||
var/t_state = r_hand.item_state
|
||||
if(!t_state) t_state = r_hand.icon_state
|
||||
|
||||
|
||||
overlays_standing[R_HAND_LAYER] = image("icon"='icons/mob/items_righthand.dmi', "icon_state"="[t_state]", "layer"=-R_HAND_LAYER)
|
||||
|
||||
|
||||
apply_overlay(R_HAND_LAYER)
|
||||
|
||||
|
||||
|
||||
/mob/living/carbon/human/update_inv_l_hand()
|
||||
remove_overlay(L_HAND_LAYER)
|
||||
|
||||
|
||||
if(l_hand)
|
||||
if(client)
|
||||
l_hand.screen_loc = ui_lhand //TODO
|
||||
client.screen += l_hand
|
||||
|
||||
|
||||
var/t_state = l_hand.item_state
|
||||
if(!t_state) t_state = l_hand.icon_state
|
||||
|
||||
|
||||
overlays_standing[L_HAND_LAYER] = image("icon"='icons/mob/items_lefthand.dmi', "icon_state"="[t_state]", "layer"=-L_HAND_LAYER)
|
||||
|
||||
|
||||
apply_overlay(L_HAND_LAYER)
|
||||
|
||||
|
||||
|
||||
@@ -439,7 +439,7 @@
|
||||
else
|
||||
dat += "<pre>Requested medical record not found.</pre><BR>"
|
||||
if ((istype(src.medicalActive2, /datum/data/record) && data_core.medical.Find(src.medicalActive2)))
|
||||
dat += text("<BR>\n<CENTER><B>Medical Data</B></CENTER><BR>\nBlood Type: <A href='?src=\ref[];field=b_type'>[]</A><BR>\nDNA: <A href='?src=\ref[];field=b_dna'>[]</A><BR>\n<BR>\nMinor Disabilities: <A href='?src=\ref[];field=mi_dis'>[]</A><BR>\nDetails: <A href='?src=\ref[];field=mi_dis_d'>[]</A><BR>\n<BR>\nMajor Disabilities: <A href='?src=\ref[];field=ma_dis'>[]</A><BR>\nDetails: <A href='?src=\ref[];field=ma_dis_d'>[]</A><BR>\n<BR>\nAllergies: <A href='?src=\ref[];field=alg'>[]</A><BR>\nDetails: <A href='?src=\ref[];field=alg_d'>[]</A><BR>\n<BR>\nCurrent Diseases: <A href='?src=\ref[];field=cdi'>[]</A> (per disease info placed in log/comment section)<BR>\nDetails: <A href='?src=\ref[];field=cdi_d'>[]</A><BR>\n<BR>\nImportant Notes:<BR>\n\t<A href='?src=\ref[];field=notes'>[]</A><BR>\n<BR>\n<CENTER><B>Comments/Log</B></CENTER><BR>", src, src.medicalActive2.fields["b_type"], src, src.medicalActive2.fields["b_dna"], src, src.medicalActive2.fields["mi_dis"], src, src.medicalActive2.fields["mi_dis_d"], src, src.medicalActive2.fields["ma_dis"], src, src.medicalActive2.fields["ma_dis_d"], src, src.medicalActive2.fields["alg"], src, src.medicalActive2.fields["alg_d"], src, src.medicalActive2.fields["cdi"], src, src.medicalActive2.fields["cdi_d"], src, src.medicalActive2.fields["notes"])
|
||||
dat += text("<BR>\n<CENTER><B>Medical Data</B></CENTER><BR>\nBlood Type: <A href='?src=\ref[];field=blood_type'>[]</A><BR>\nDNA: <A href='?src=\ref[];field=b_dna'>[]</A><BR>\n<BR>\nMinor Disabilities: <A href='?src=\ref[];field=mi_dis'>[]</A><BR>\nDetails: <A href='?src=\ref[];field=mi_dis_d'>[]</A><BR>\n<BR>\nMajor Disabilities: <A href='?src=\ref[];field=ma_dis'>[]</A><BR>\nDetails: <A href='?src=\ref[];field=ma_dis_d'>[]</A><BR>\n<BR>\nAllergies: <A href='?src=\ref[];field=alg'>[]</A><BR>\nDetails: <A href='?src=\ref[];field=alg_d'>[]</A><BR>\n<BR>\nCurrent Diseases: <A href='?src=\ref[];field=cdi'>[]</A> (per disease info placed in log/comment section)<BR>\nDetails: <A href='?src=\ref[];field=cdi_d'>[]</A><BR>\n<BR>\nImportant Notes:<BR>\n\t<A href='?src=\ref[];field=notes'>[]</A><BR>\n<BR>\n<CENTER><B>Comments/Log</B></CENTER><BR>", src, src.medicalActive2.fields["blood_type"], src, src.medicalActive2.fields["b_dna"], src, src.medicalActive2.fields["mi_dis"], src, src.medicalActive2.fields["mi_dis_d"], src, src.medicalActive2.fields["ma_dis"], src, src.medicalActive2.fields["ma_dis_d"], src, src.medicalActive2.fields["alg"], src, src.medicalActive2.fields["alg_d"], src, src.medicalActive2.fields["cdi"], src, src.medicalActive2.fields["cdi_d"], src, src.medicalActive2.fields["notes"])
|
||||
else
|
||||
dat += "<pre>Requested medical record not found.</pre><BR>"
|
||||
dat += text("<BR>\n<A href='?src=\ref[];software=medicalrecord;sub=0'>Back</A><BR>", src)
|
||||
|
||||
@@ -38,8 +38,8 @@ Put (mob/proc)s here that are in dire need of a code cleanup.
|
||||
if(force_species_check)
|
||||
var/fail = 1
|
||||
for(var/name in virus.affected_species)
|
||||
var/mob_type = text2path("/mob/living/carbon/[lowertext(name)]")
|
||||
if(mob_type && istype(src, mob_type))
|
||||
var/moblood_type = text2path("/mob/living/carbon/[lowertext(name)]")
|
||||
if(moblood_type && istype(src, moblood_type))
|
||||
fail = 0
|
||||
break
|
||||
if(fail) return
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
//This proc is the most basic of the procs. All it does is make a new mob on the same tile and transfer over a few variables.
|
||||
//Returns the new mob
|
||||
//Note that this proc does NOT do MMI related stuff!
|
||||
/mob/proc/change_mob_type(var/new_type = null, var/turf/location = null, var/new_name = null as text, var/delete_old_mob = 0 as num)
|
||||
/mob/proc/change_moblood_type(var/new_type = null, var/turf/location = null, var/new_name = null as text, var/delete_old_mob = 0 as num)
|
||||
|
||||
if(istype(src,/mob/new_player))
|
||||
usr << "\red cannot convert players who have not entered yet."
|
||||
@@ -15,7 +15,7 @@
|
||||
new_type = text2path(new_type)
|
||||
|
||||
if( !ispath(new_type) )
|
||||
usr << "Invalid type path (new_type = [new_type]) in change_mob_type(). Contact a coder."
|
||||
usr << "Invalid type path (new_type = [new_type]) in change_moblood_type(). Contact a coder."
|
||||
return
|
||||
|
||||
if( new_type == /mob/new_player )
|
||||
@@ -29,7 +29,7 @@
|
||||
M = new new_type( src.loc )
|
||||
|
||||
if(!M || !ismob(M))
|
||||
usr << "Type path is not a mob (new_type = [new_type]) in change_mob_type(). Contact a coder."
|
||||
usr << "Type path is not a mob (new_type = [new_type]) in change_moblood_type(). Contact a coder."
|
||||
del(M)
|
||||
return
|
||||
|
||||
|
||||
@@ -327,7 +327,7 @@
|
||||
|
||||
new_character.name = real_name
|
||||
|
||||
ready_dna(new_character, client.prefs.b_type)
|
||||
ready_dna(new_character, client.prefs.blood_type)
|
||||
|
||||
new_character.key = key //Manually transfer the key to log them in
|
||||
|
||||
|
||||
@@ -7,10 +7,10 @@ datum/preferences
|
||||
gender = pick(MALE,FEMALE)
|
||||
underwear = random_underwear(gender)
|
||||
skin_tone = random_skin_tone()
|
||||
h_style = random_hair_style(gender)
|
||||
f_style = random_facial_hair_style(gender)
|
||||
h_color = random_short_color()
|
||||
f_color = h_color
|
||||
hair_style = random_hair_style(gender)
|
||||
facial_hair_style = random_facial_hair_style(gender)
|
||||
hair_color = random_short_color()
|
||||
facial_hair_color = hair_color
|
||||
eye_color = random_eye_color()
|
||||
backbag = 2
|
||||
age = rand(AGE_MIN,AGE_MAX)
|
||||
@@ -25,24 +25,25 @@ datum/preferences
|
||||
|
||||
preview_icon = new /icon('icons/mob/human.dmi', "[skin_tone]_[g]_s")
|
||||
|
||||
var/datum/sprite_accessory/S
|
||||
if(underwear)
|
||||
var/datum/sprite_accessory/underwear/U = underwear_all[underwear]
|
||||
if(U)
|
||||
preview_icon.Blend(new /icon(U.icon, "[U.icon_state]_s"), ICON_OVERLAY)
|
||||
S = underwear_all[underwear]
|
||||
if(S)
|
||||
preview_icon.Blend(new /icon(S.icon, "[S.icon_state]_s"), ICON_OVERLAY)
|
||||
|
||||
var/icon/eyes_s = new/icon("icon" = 'icons/mob/human_face.dmi', "icon_state" = "eyes_s")
|
||||
eyes_s.Blend("#[eye_color]", ICON_ADD)
|
||||
|
||||
var/datum/sprite_accessory/hair_style = hair_styles_list[h_style]
|
||||
if(hair_style)
|
||||
var/icon/hair_s = new/icon("icon" = hair_style.icon, "icon_state" = "[hair_style.icon_state]_s")
|
||||
hair_s.Blend("#[h_color]", ICON_ADD)
|
||||
S = hair_styles_list[hair_style]
|
||||
if(S)
|
||||
var/icon/hair_s = new/icon("icon" = S.icon, "icon_state" = "[S.icon_state]_s")
|
||||
hair_s.Blend("#[hair_color]", ICON_ADD)
|
||||
eyes_s.Blend(hair_s, ICON_OVERLAY)
|
||||
|
||||
var/datum/sprite_accessory/facial_hair_style = facial_hair_styles_list[f_style]
|
||||
if(facial_hair_style)
|
||||
var/icon/facial_s = new/icon("icon" = facial_hair_style.icon, "icon_state" = "[facial_hair_style.icon_state]_s")
|
||||
facial_s.Blend("#[f_color]", ICON_ADD)
|
||||
S = facial_hair_styles_list[facial_hair_style]
|
||||
if(S)
|
||||
var/icon/facial_s = new/icon("icon" = S.icon, "icon_state" = "[S.icon_state]_s")
|
||||
facial_s.Blend("#[facial_hair_color]", ICON_ADD)
|
||||
eyes_s.Blend(facial_s, ICON_OVERLAY)
|
||||
|
||||
var/icon/clothes_s = null
|
||||
|
||||
@@ -128,7 +128,7 @@
|
||||
var/obj/item/weapon/paper/P = new /obj/item/weapon/paper(src)
|
||||
P.info = "<CENTER><B>Medical Record</B></CENTER><BR>"
|
||||
P.info += "Name: [G.fields["name"]] ID: [G.fields["id"]]<BR>\nSex: [G.fields["sex"]]<BR>\nAge: [G.fields["age"]]<BR>\nFingerprint: [G.fields["fingerprint"]]<BR>\nPhysical Status: [G.fields["p_stat"]]<BR>\nMental Status: [G.fields["m_stat"]]<BR>"
|
||||
P.info += "<BR>\n<CENTER><B>Medical Data</B></CENTER><BR>\nBlood Type: [M.fields["b_type"]]<BR>\nDNA: [M.fields["b_dna"]]<BR>\n<BR>\nMinor Disabilities: [M.fields["mi_dis"]]<BR>\nDetails: [M.fields["mi_dis_d"]]<BR>\n<BR>\nMajor Disabilities: [M.fields["ma_dis"]]<BR>\nDetails: [M.fields["ma_dis_d"]]<BR>\n<BR>\nAllergies: [M.fields["alg"]]<BR>\nDetails: [M.fields["alg_d"]]<BR>\n<BR>\nCurrent Diseases: [M.fields["cdi"]] (per disease info placed in log/comment section)<BR>\nDetails: [M.fields["cdi_d"]]<BR>\n<BR>\nImportant Notes:<BR>\n\t[M.fields["notes"]]<BR>\n<BR>\n<CENTER><B>Comments/Log</B></CENTER><BR>"
|
||||
P.info += "<BR>\n<CENTER><B>Medical Data</B></CENTER><BR>\nBlood Type: [M.fields["blood_type"]]<BR>\nDNA: [M.fields["b_dna"]]<BR>\n<BR>\nMinor Disabilities: [M.fields["mi_dis"]]<BR>\nDetails: [M.fields["mi_dis_d"]]<BR>\n<BR>\nMajor Disabilities: [M.fields["ma_dis"]]<BR>\nDetails: [M.fields["ma_dis_d"]]<BR>\n<BR>\nAllergies: [M.fields["alg"]]<BR>\nDetails: [M.fields["alg_d"]]<BR>\n<BR>\nCurrent Diseases: [M.fields["cdi"]] (per disease info placed in log/comment section)<BR>\nDetails: [M.fields["cdi_d"]]<BR>\n<BR>\nImportant Notes:<BR>\n\t[M.fields["notes"]]<BR>\n<BR>\n<CENTER><B>Comments/Log</B></CENTER><BR>"
|
||||
var/counter = 1
|
||||
while(M.fields["com_[counter]"])
|
||||
P.info += "[M.fields["com_[counter]"]]<BR>"
|
||||
|
||||
@@ -1659,8 +1659,8 @@ datum
|
||||
H.update_damage_overlays(0)
|
||||
if(prob(meltprob)) //Applies disfigurement
|
||||
H.emote("scream")
|
||||
H.f_style = "Shaved"
|
||||
H.h_style = "Bald"
|
||||
H.facial_hair_style = "Shaved"
|
||||
H.hair_style = "Bald"
|
||||
H.update_hair(0)
|
||||
H.status_flags |= DISFIGURED
|
||||
else
|
||||
|
||||
@@ -85,7 +85,7 @@
|
||||
B.data["resistances"] = T.resistances.Copy()
|
||||
if(istype(target, /mob/living/carbon/human))//I wish there was some hasproperty operation...
|
||||
var/mob/living/carbon/human/HT = target
|
||||
B.data["blood_type"] = copytext(HT.dna.b_type,1,0)
|
||||
B.data["blood_type"] = copytext(HT.dna.blood_type,1,0)
|
||||
var/list/temp_chem = list()
|
||||
for(var/datum/reagent/R in target.reagents.reagent_list)
|
||||
temp_chem += R.name
|
||||
|
||||
Reference in New Issue
Block a user