mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2026-01-02 21:43:22 +00:00
Removed mob/var/UI, it now uses client.prefs.UI_style
Removed var/constant/Pi It's already defined in setup.dm Moved a bunch of global_lists to global_lists.dm Fixed hair randomisation. (still bits to do) Moved a lot of preferences_setup.dm stuff into __HELPERS/mobs.dm They'll be FAR more helpful as generic procs, rather than something tied to preferences. Merged mob/var/nopush into status_flags with the CANPUSH flag Merged mob/var/nodamage into status_flags with the GODMODE flag Removed mob/var/be_syndicate and mob/var/be_random_name as they are not used. Added /proc/ui_style2icon(ui_style) proc. It converts a string like "Midnight" into its corresponding dmi file. The code fore creating a new hud uses it. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5164 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -112,15 +112,11 @@
|
||||
if(!holder)
|
||||
src << "Only administrators may use this command."
|
||||
return
|
||||
if (M.nodamage == 1)
|
||||
M.nodamage = 0
|
||||
usr << "\blue Toggled OFF"
|
||||
else
|
||||
M.nodamage = 1
|
||||
usr << "\blue Toggled ON"
|
||||
M.status_flags ^= GODMODE
|
||||
usr << "\blue Toggled [(M.status_flags & GODMODE) ? "ON" : "OFF"]"
|
||||
|
||||
log_admin("[key_name(usr)] has toggled [key_name(M)]'s nodamage to [(M.nodamage ? "On" : "Off")]")
|
||||
message_admins("[key_name_admin(usr)] has toggled [key_name_admin(M)]'s nodamage to [(M.nodamage ? "On" : "Off")]", 1)
|
||||
log_admin("[key_name(usr)] has toggled [key_name(M)]'s nodamage to [(M.status_flags & GODMODE) ? "On" : "Off"]")
|
||||
message_admins("[key_name_admin(usr)] has toggled [key_name_admin(M)]'s nodamage to [(M.status_flags & GODMODE) ? "On" : "Off"]", 1)
|
||||
feedback_add_details("admin_verb","GOD") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
|
||||
|
||||
|
||||
@@ -16,9 +16,6 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set
|
||||
"infested monkey" = IS_MODE_COMPILED("monkey"), // 9
|
||||
)
|
||||
|
||||
var/global/list/underwear_m = list("White", "Grey", "Green", "Blue", "Black", "Mankini", "Love-Hearts", "Black2", "Grey2", "Stripey", "Kinky", "None") //Curse whoever made male/female underwear diffrent colours
|
||||
var/global/list/underwear_f = list("Red", "White", "Yellow", "Blue", "Black", "Thong", "Babydoll", "Baby-Blue", "Green", "Pink", "Kinky", "None")
|
||||
var/global/list/backbaglist = list("Nothing", "Backpack", "Satchel")
|
||||
|
||||
var/const/MAX_SAVE_SLOTS = 3
|
||||
|
||||
@@ -94,7 +91,8 @@ datum/preferences
|
||||
if(load_preferences())
|
||||
load_character()
|
||||
return
|
||||
randomize_name()
|
||||
gender = pick(MALE, FEMALE)
|
||||
real_name = random_name(gender)
|
||||
|
||||
/datum/preferences
|
||||
proc/ShowChoices(mob/user)
|
||||
@@ -420,63 +418,49 @@ datum/preferences
|
||||
if("random")
|
||||
switch(href_list["preference"])
|
||||
if("name")
|
||||
randomize_name()
|
||||
|
||||
real_name = random_name(gender)
|
||||
if("age")
|
||||
age = rand(17, 85)
|
||||
|
||||
// if("b_type")
|
||||
// b_type = pick( 31;"A+", 7;"A-", 8;"B+", 2;"B-", 2;"AB+", 1;"AB-", 40;"O+", 9;"O-" )
|
||||
|
||||
age = rand(AGE_MIN, AGE_MAX)
|
||||
if("hair")
|
||||
randomize_hair_color("hair")
|
||||
|
||||
r_hair = rand(0,255)
|
||||
g_hair = rand(0,255)
|
||||
b_hair = rand(0,255)
|
||||
if("h_style")
|
||||
randomize_hair(gender)
|
||||
|
||||
h_style = random_hair_style(gender)
|
||||
if("facial")
|
||||
randomize_hair_color("facial")
|
||||
|
||||
r_facial = rand(0,255)
|
||||
g_facial = rand(0,255)
|
||||
b_facial = rand(0,255)
|
||||
if("f_style")
|
||||
randomize_facial(gender)
|
||||
|
||||
f_style = random_facial_hair_style(gender)
|
||||
if("underwear")
|
||||
underwear = rand(1,12)
|
||||
|
||||
underwear = rand(1,underwear_m.len)
|
||||
if("eyes")
|
||||
randomize_eyes_color()
|
||||
|
||||
r_eyes = rand(0,255)
|
||||
g_eyes = rand(0,255)
|
||||
b_eyes = rand(0,255)
|
||||
if("s_tone")
|
||||
randomize_skin_tone()
|
||||
|
||||
s_tone = random_skin_tone()
|
||||
if("bag")
|
||||
backbag = rand(1,3)
|
||||
|
||||
if("all")
|
||||
gender = pick(MALE,FEMALE)
|
||||
randomize_name()
|
||||
age = rand(17,85)
|
||||
real_name = random_name(gender)
|
||||
age = rand(AGE_MIN,AGE_MAX)
|
||||
underwear = rand(1,12)
|
||||
backbag = rand(1,3)
|
||||
randomize_hair_color("hair")
|
||||
randomize_hair(gender)
|
||||
randomize_hair_color("facial")
|
||||
randomize_facial(gender)
|
||||
randomize_eyes_color()
|
||||
randomize_skin_tone()
|
||||
job_civilian_high = 0
|
||||
job_civilian_med = 0
|
||||
job_civilian_low = 0
|
||||
job_medsci_high = 0
|
||||
job_medsci_med = 0
|
||||
job_medsci_low = 0
|
||||
job_engsec_high = 0
|
||||
job_engsec_med = 0
|
||||
job_engsec_low = 0
|
||||
be_special = 0
|
||||
be_random_name = 0
|
||||
UI_style = "Midnight"
|
||||
userandomjob = 1
|
||||
r_hair = rand(0,255)
|
||||
g_hair = rand(0,255)
|
||||
b_hair = rand(0,255)
|
||||
r_facial = r_hair
|
||||
g_facial = g_hair
|
||||
b_facial = b_hair
|
||||
r_eyes = rand(0,255)
|
||||
g_eyes = rand(0,255)
|
||||
b_eyes = rand(0,255)
|
||||
h_style = random_hair_style(gender)
|
||||
f_style = random_facial_hair_style(gender)
|
||||
s_tone = random_skin_tone()
|
||||
|
||||
if("input")
|
||||
switch(href_list["preference"])
|
||||
@@ -488,20 +472,15 @@ datum/preferences
|
||||
user << "<font color='red'>Invalid name. Your name should be at least 2 and at most [MAX_NAME_LEN] characters long. It may only contain the characters A-Z, a-z, -, ' and .</font>"
|
||||
|
||||
if("age")
|
||||
var/new_age = input(user, "Choose your character's age:\n(17-85)", "Character Preference") as num|null
|
||||
var/new_age = input(user, "Choose your character's age:\n([AGE_MIN]-[AGE_MAX])", "Character Preference") as num|null
|
||||
if(new_age)
|
||||
age = max(min(round(text2num(new_age)), 85), 17)
|
||||
age = max(min( round(text2num(new_age)), AGE_MAX),AGE_MIN)
|
||||
|
||||
if("metadata")
|
||||
var/new_metadata = input(user, "Enter any information you'd like others to see, such as Roleplay-preferences:", "Game Preference" , metadata) as message|null
|
||||
if(new_metadata)
|
||||
metadata = sanitize(copytext(new_metadata,1,MAX_MESSAGE_LEN))
|
||||
|
||||
// if("b_type")
|
||||
// var/new_b_type = input(user, "Choose your character's blood-type:", "Character Preference") as null|anything in list( "A+", "A-", "B+", "B-", "AB+", "AB-", "O+", "O-" )
|
||||
// if(new_b_type)
|
||||
// b_type = new_b_type
|
||||
|
||||
if("hair")
|
||||
var/new_hair = input(user, "Choose your character's hair colour:", "Character Preference") as color|null
|
||||
if(new_hair)
|
||||
@@ -547,8 +526,7 @@ datum/preferences
|
||||
if("s_tone")
|
||||
var/new_s_tone = input(user, "Choose your character's skin-tone:\n(Light 1 - 220 Dark)", "Character Preference") as num|null
|
||||
if(new_s_tone)
|
||||
s_tone = max(min(round(new_s_tone), 220), 1)
|
||||
s_tone = -s_tone + 35
|
||||
s_tone = 35 - max(min( round(new_s_tone), 220),1)
|
||||
|
||||
if("ooccolor")
|
||||
var/new_ooccolor = input(user, "Choose your OOC colour:", "Game Preference") as color|null
|
||||
@@ -618,7 +596,7 @@ datum/preferences
|
||||
|
||||
proc/copy_to(mob/living/carbon/human/character, safety = 0)
|
||||
if(be_random_name)
|
||||
randomize_name()
|
||||
real_name = random_name()
|
||||
|
||||
if(config.humans_need_surnames)
|
||||
var/firstspace = findtext(real_name, " ")
|
||||
@@ -629,14 +607,12 @@ datum/preferences
|
||||
real_name += "[pick(last_names)]"
|
||||
|
||||
character.real_name = real_name
|
||||
|
||||
character.name = character.real_name
|
||||
if(character.dna)
|
||||
character.dna.real_name = character.real_name
|
||||
|
||||
character.gender = gender
|
||||
|
||||
character.age = age
|
||||
|
||||
character.b_type = b_type
|
||||
|
||||
character.r_eyes = r_eyes
|
||||
@@ -656,17 +632,7 @@ datum/preferences
|
||||
character.h_style = h_style
|
||||
character.f_style = f_style
|
||||
|
||||
switch(UI_style)
|
||||
if("Midnight")
|
||||
character.UI = 'icons/mob/screen1_Midnight.dmi'
|
||||
if("Orange")
|
||||
character.UI = 'icons/mob/screen1_Orange.dmi'
|
||||
if("old")
|
||||
character.UI = 'icons/mob/screen1_old.dmi'
|
||||
else
|
||||
character.UI = 'icons/mob/screen1_Midnight.dmi'
|
||||
|
||||
if(underwear > 12 || underwear < 1)
|
||||
if(underwear > underwear_m.len || underwear < 1)
|
||||
underwear = 1 //I'm sure this is 100% unnecessary, but I'm paranoid... sue me.
|
||||
character.underwear = underwear
|
||||
|
||||
|
||||
@@ -19,6 +19,8 @@
|
||||
fdel(delpath)
|
||||
break
|
||||
savefile_version = 8
|
||||
|
||||
if(savefile_version == SAVEFILE_VERSION_MAX) //update successful.
|
||||
save_preferences()
|
||||
save_character()
|
||||
return 1
|
||||
@@ -129,10 +131,10 @@
|
||||
//Sanitize
|
||||
metadata = sanitize_text(metadata, initial(metadata))
|
||||
real_name = reject_bad_name(real_name)
|
||||
if(!real_name) randomize_name()
|
||||
if(!real_name) real_name = random_name()
|
||||
be_random_name = sanitize_integer(be_random_name, 0, 1, initial(be_random_name))
|
||||
gender = sanitize_gender(gender)
|
||||
age = sanitize_integer(age, 17, 85, initial(age))
|
||||
age = sanitize_integer(age, AGE_MIN, AGE_MAX, initial(age))
|
||||
r_hair = sanitize_integer(r_hair, 0, 255, initial(r_hair))
|
||||
g_hair = sanitize_integer(g_hair, 0, 255, initial(g_hair))
|
||||
b_hair = sanitize_integer(b_hair, 0, 255, initial(b_hair))
|
||||
|
||||
@@ -118,4 +118,5 @@
|
||||
if(!role_flag) return
|
||||
prefs.be_special ^= role_flag
|
||||
prefs.save_preferences()
|
||||
src << "You will [(prefs.be_special & role_flag) ? "now" : "no longer"] be considered for [role] events (where possible)."
|
||||
src << "You will [(prefs.be_special & role_flag) ? "now" : "no longer"] be considered for [role] events (where possible)."
|
||||
feedback_add_details("admin_verb","TBeSpecial") //If you are copy-pasting this, ensure the 2nd parameter is unique to the new proc!
|
||||
@@ -21,7 +21,7 @@
|
||||
|
||||
var/move_delay_add = 0 // movement delay to add
|
||||
|
||||
status_flags = CANPARALYSE
|
||||
status_flags = CANPARALYSE|CANPUSH
|
||||
var/heal_rate = 5
|
||||
var/plasma_rate = 5
|
||||
|
||||
@@ -49,7 +49,7 @@
|
||||
return 2
|
||||
|
||||
/mob/living/carbon/alien/updatehealth()
|
||||
if(nodamage)
|
||||
if(status_flags & GODMODE)
|
||||
health = maxHealth
|
||||
stat = CONSCIOUS
|
||||
else
|
||||
|
||||
@@ -37,7 +37,6 @@
|
||||
for(var/mob/O in viewers(src, null))
|
||||
O.show_message(text("\green <B>[src] begins to twist and contort!</B>"), 1)
|
||||
var/mob/living/carbon/alien/humanoid/queen/new_xeno = new (loc)
|
||||
new_xeno.UI = UI
|
||||
mind.transfer_to(new_xeno)
|
||||
del(src)
|
||||
else
|
||||
|
||||
@@ -6,7 +6,6 @@
|
||||
var/obj/item/clothing/head/head = null //
|
||||
var/obj/item/weapon/r_store = null
|
||||
var/obj/item/weapon/l_store = null
|
||||
// var/alien_invis = 0
|
||||
var/caste = ""
|
||||
update_icon = 1
|
||||
|
||||
|
||||
@@ -167,7 +167,7 @@
|
||||
return null
|
||||
|
||||
proc/handle_breath(datum/gas_mixture/breath)
|
||||
if(nodamage)
|
||||
if(status_flags & GODMODE)
|
||||
return
|
||||
|
||||
if(!breath || (breath.total_moles() == 0))
|
||||
@@ -459,6 +459,6 @@
|
||||
del(M)
|
||||
continue
|
||||
if(air_master.current_cycle%3==1)
|
||||
if(!M.nodamage)
|
||||
if(!(status_flags & GODMODE))
|
||||
M.adjustBruteLoss(5)
|
||||
nutrition += 10
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
maxHealth = 250
|
||||
health = 250
|
||||
icon_state = "alienq_s"
|
||||
nopush = 1
|
||||
status_flags = CANPARALYSE
|
||||
heal_rate = 5
|
||||
plasma_rate = 20
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
src << "\red <B>You fail to push [tmob]'s fat ass out of the way.</B>"
|
||||
now_pushing = 0
|
||||
return
|
||||
if(tmob.nopush)
|
||||
if(!(tmob.status_flags & CANPUSH))
|
||||
now_pushing = 0
|
||||
return
|
||||
tmob.LAssailant = src
|
||||
|
||||
@@ -139,7 +139,7 @@
|
||||
return null
|
||||
|
||||
proc/handle_breath(datum/gas_mixture/breath)
|
||||
if(nodamage)
|
||||
if(status_flags & GODMODE)
|
||||
return
|
||||
|
||||
if(!breath || (breath.total_moles() == 0))
|
||||
@@ -378,6 +378,6 @@
|
||||
del(M)
|
||||
continue
|
||||
if(air_master.current_cycle%3==1)
|
||||
if(!M.nodamage)
|
||||
if(!(M.status_flags & GODMODE))
|
||||
M.adjustBruteLoss(5)
|
||||
nutrition += 10
|
||||
@@ -44,7 +44,6 @@
|
||||
new_xeno = new /mob/living/carbon/alien/humanoid/sentinel(loc)
|
||||
if("Drone")
|
||||
new_xeno = new /mob/living/carbon/alien/humanoid/drone(loc)
|
||||
new_xeno.UI = UI
|
||||
if(mind) mind.transfer_to(new_xeno)
|
||||
del(src)
|
||||
return
|
||||
|
||||
@@ -91,7 +91,7 @@
|
||||
return //TODO: DEFERRED
|
||||
|
||||
proc/handle_temperature_damage(body_part, exposed_temperature, exposed_intensity)
|
||||
if(nodamage) return
|
||||
if(status_flags & GODMODE) return
|
||||
|
||||
if(exposed_temperature > bodytemperature)
|
||||
var/discomfort = min( abs(exposed_temperature - bodytemperature)*(exposed_intensity)/2000000, 1.0)
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
/mob/living/carbon/human/dummy
|
||||
real_name = "Test Dummy"
|
||||
nodamage = 1
|
||||
status_flags = GODMODE|CANPUSH
|
||||
|
||||
|
||||
|
||||
@@ -82,7 +82,7 @@
|
||||
if(prob(99))
|
||||
now_pushing = 0
|
||||
return
|
||||
if(tmob.nopush)
|
||||
if(!(tmob.status_flags & CANPUSH))
|
||||
now_pushing = 0
|
||||
return
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
//Updates the mob's health from organs and mob damage variables
|
||||
/mob/living/carbon/human/updatehealth()
|
||||
if(nodamage)
|
||||
if(status_flags & GODMODE)
|
||||
health = 100
|
||||
stat = CONSCIOUS
|
||||
return
|
||||
@@ -117,7 +117,7 @@
|
||||
|
||||
// damage MANY external organs, in random order
|
||||
/mob/living/carbon/human/take_overall_damage(var/brute, var/burn)
|
||||
if(nodamage) return //godmode
|
||||
if(status_flags & GODMODE) return //godmode
|
||||
var/list/datum/organ/external/parts = get_damageable_organs()
|
||||
var/update = 0
|
||||
while(parts.len && (brute>0 || burn>0) )
|
||||
|
||||
@@ -329,7 +329,7 @@
|
||||
|
||||
|
||||
proc/handle_breath(datum/gas_mixture/breath)
|
||||
if(nodamage || REBREATHER in augmentations)
|
||||
if((status_flags & GODMODE) || REBREATHER in augmentations)
|
||||
return
|
||||
|
||||
if(!breath || (breath.total_moles() == 0) || suiciding)
|
||||
@@ -1245,7 +1245,7 @@
|
||||
del(M)
|
||||
continue
|
||||
if(air_master.current_cycle%3==1)
|
||||
if(!M.nodamage)
|
||||
if(!(M.status_flags & GODMODE))
|
||||
M.adjustBruteLoss(5)
|
||||
nutrition += 10
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
// canstun and canweaken don't affect metroids because they ignore stun and weakened variables
|
||||
// for the sake of cleanliness, though, here they are.
|
||||
status_flags = CANPARALYSE
|
||||
status_flags = CANPARALYSE|CANPUSH
|
||||
|
||||
var/cores = 3 // the number of /obj/item/metroid_core's the metroid has left inside
|
||||
|
||||
@@ -681,18 +681,18 @@ mob/living/carbon/metroid/var/temperature_resistance = T0C+75
|
||||
return
|
||||
|
||||
/mob/living/carbon/metroid/updatehealth()
|
||||
if (nodamage == 0)
|
||||
if(status_flags & GODMODE)
|
||||
if(istype(src, /mob/living/carbon/metroid/adult))
|
||||
health = 200
|
||||
else
|
||||
health = 150
|
||||
stat = CONSCIOUS
|
||||
else
|
||||
// metroids can't suffocate unless they suicide. They are also not harmed by fire
|
||||
if(istype(src, /mob/living/carbon/metroid/adult))
|
||||
health = 200 - (getOxyLoss() + getToxLoss() + getFireLoss() + getBruteLoss() + getCloneLoss())
|
||||
else
|
||||
health = 150 - (getOxyLoss() + getToxLoss() + getFireLoss() + getBruteLoss() + getCloneLoss())
|
||||
else
|
||||
if(istype(src, /mob/living/carbon/metroid/adult))
|
||||
health = 200
|
||||
else
|
||||
health = 150
|
||||
stat = 0
|
||||
|
||||
|
||||
/mob/living/carbon/metroid/proc/get_obstacle_ok(atom/A)
|
||||
|
||||
@@ -223,7 +223,7 @@
|
||||
return null
|
||||
|
||||
proc/handle_breath(datum/gas_mixture/breath)
|
||||
if(nodamage)
|
||||
if(status_flags & GODMODE)
|
||||
return
|
||||
|
||||
if(!breath || (breath.total_moles() == 0))
|
||||
@@ -357,7 +357,7 @@
|
||||
return
|
||||
|
||||
proc/handle_temperature_damage(body_part, exposed_temperature, exposed_intensity)
|
||||
if(nodamage) return
|
||||
if(status_flags & GODMODE) return
|
||||
var/discomfort = min( abs(exposed_temperature - bodytemperature)*(exposed_intensity)/2000000, 1.0)
|
||||
//adjustFireLoss(2.5*discomfort)
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@
|
||||
usr << "\red <B>You fail to push [tmob]'s fat ass out of the way.</B>"
|
||||
now_pushing = 0
|
||||
return
|
||||
if(tmob.nopush)
|
||||
if(!(tmob.status_flags & CANPUSH))
|
||||
now_pushing = 0
|
||||
return
|
||||
|
||||
|
||||
@@ -8,11 +8,11 @@
|
||||
|
||||
|
||||
/mob/living/proc/updatehealth()
|
||||
if(nodamage)
|
||||
src.health = 100
|
||||
src.stat = 0
|
||||
if(status_flags & GODMODE)
|
||||
health = 100
|
||||
stat = CONSCIOUS
|
||||
else
|
||||
src.health = src.maxHealth - src.getOxyLoss() - src.getToxLoss() - src.getFireLoss() - src.getBruteLoss() - src.getCloneLoss() - src.halloss
|
||||
health = maxHealth - getOxyLoss() - getToxLoss() - getFireLoss() - getBruteLoss() - getCloneLoss() - halloss
|
||||
|
||||
|
||||
//This proc is used for mobs which are affected by pressure to calculate the amount of pressure that actually
|
||||
@@ -75,69 +75,69 @@
|
||||
return bruteloss
|
||||
|
||||
/mob/living/proc/adjustBruteLoss(var/amount)
|
||||
if(src.nodamage) return 0 //godmode
|
||||
if(status_flags & GODMODE) return 0 //godmode
|
||||
bruteloss = min(max(bruteloss + amount, 0),(maxHealth*2))
|
||||
|
||||
/mob/living/proc/getOxyLoss()
|
||||
return oxyloss
|
||||
|
||||
/mob/living/proc/adjustOxyLoss(var/amount)
|
||||
if(src.nodamage) return 0 //godmode
|
||||
if(status_flags & GODMODE) return 0 //godmode
|
||||
oxyloss = min(max(oxyloss + amount, 0),(maxHealth*2))
|
||||
|
||||
/mob/living/proc/setOxyLoss(var/amount)
|
||||
if(src.nodamage) return 0 //godmode
|
||||
if(status_flags & GODMODE) return 0 //godmode
|
||||
oxyloss = amount
|
||||
|
||||
/mob/living/proc/getToxLoss()
|
||||
return toxloss
|
||||
|
||||
/mob/living/proc/adjustToxLoss(var/amount)
|
||||
if(src.nodamage) return 0 //godmode
|
||||
if(status_flags & GODMODE) return 0 //godmode
|
||||
toxloss = min(max(toxloss + amount, 0),(maxHealth*2))
|
||||
|
||||
/mob/living/proc/setToxLoss(var/amount)
|
||||
if(src.nodamage) return 0 //godmode
|
||||
if(status_flags & GODMODE) return 0 //godmode
|
||||
toxloss = amount
|
||||
|
||||
/mob/living/proc/getFireLoss()
|
||||
return fireloss
|
||||
|
||||
/mob/living/proc/adjustFireLoss(var/amount)
|
||||
if(src.nodamage) return 0 //godmode
|
||||
if(status_flags & GODMODE) return 0 //godmode
|
||||
fireloss = min(max(fireloss + amount, 0),(maxHealth*2))
|
||||
|
||||
/mob/living/proc/getCloneLoss()
|
||||
return cloneloss
|
||||
|
||||
/mob/living/proc/adjustCloneLoss(var/amount)
|
||||
if(src.nodamage) return 0 //godmode
|
||||
if(status_flags & GODMODE) return 0 //godmode
|
||||
cloneloss = min(max(cloneloss + amount, 0),(maxHealth*2))
|
||||
|
||||
/mob/living/proc/setCloneLoss(var/amount)
|
||||
if(src.nodamage) return 0 //godmode
|
||||
if(status_flags & GODMODE) return 0 //godmode
|
||||
cloneloss = amount
|
||||
|
||||
/mob/living/proc/getBrainLoss()
|
||||
return brainloss
|
||||
|
||||
/mob/living/proc/adjustBrainLoss(var/amount)
|
||||
if(src.nodamage) return 0 //godmode
|
||||
if(status_flags & GODMODE) return 0 //godmode
|
||||
brainloss = min(max(brainloss + amount, 0),(maxHealth*2))
|
||||
|
||||
/mob/living/proc/setBrainLoss(var/amount)
|
||||
if(src.nodamage) return 0 //godmode
|
||||
if(status_flags & GODMODE) return 0 //godmode
|
||||
brainloss = amount
|
||||
|
||||
/mob/living/proc/getHalLoss()
|
||||
return halloss
|
||||
|
||||
/mob/living/proc/adjustHalLoss(var/amount)
|
||||
if(src.nodamage) return 0 //godmode
|
||||
if(status_flags & GODMODE) return 0 //godmode
|
||||
halloss = min(max(halloss + amount, 0),(maxHealth*2))
|
||||
|
||||
/mob/living/proc/setHalLoss(var/amount)
|
||||
if(src.nodamage) return 0 //godmode
|
||||
if(status_flags & GODMODE) return 0 //godmode
|
||||
halloss = amount
|
||||
|
||||
/mob/living/proc/getMaxHealth()
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
var/list/visibleCameraChunks = list()
|
||||
var/mob/living/silicon/ai/ai = null
|
||||
density = 0
|
||||
nodamage = 1 // You can't damage it.
|
||||
status_flags = GODMODE // You can't damage it.
|
||||
mouse_opacity = 0
|
||||
|
||||
// Movement code. Returns 0 to stop air movement from moving it.
|
||||
|
||||
@@ -171,11 +171,11 @@
|
||||
theAPC = null
|
||||
|
||||
/mob/living/silicon/ai/updatehealth()
|
||||
if (src.nodamage == 0)
|
||||
if(src.fire_res_on_core)
|
||||
src.health = 100 - src.getOxyLoss() - src.getToxLoss() - src.getBruteLoss()
|
||||
else
|
||||
src.health = 100 - src.getOxyLoss() - src.getToxLoss() - src.getFireLoss() - src.getBruteLoss()
|
||||
if(status_flags & GODMODE)
|
||||
health = 100
|
||||
stat = CONSCIOUS
|
||||
else
|
||||
src.health = 100
|
||||
src.stat = 0
|
||||
if(fire_res_on_core)
|
||||
health = 100 - getOxyLoss() - getToxLoss() - getBruteLoss()
|
||||
else
|
||||
health = 100 - getOxyLoss() - getToxLoss() - getFireLoss() - getBruteLoss()
|
||||
@@ -8,8 +8,8 @@
|
||||
|
||||
|
||||
/mob/living/silicon/decoy/updatehealth()
|
||||
if (src.nodamage == 0)
|
||||
src.health = 100 - src.getOxyLoss() - src.getToxLoss() - src.getFireLoss() - src.getBruteLoss()
|
||||
if(status_flags & GODMODE)
|
||||
health = 100
|
||||
stat = CONSCIOUS
|
||||
else
|
||||
src.health = 100
|
||||
src.stat = 0
|
||||
health = 100 - getOxyLoss() - getToxLoss() - getFireLoss() - getBruteLoss()
|
||||
|
||||
@@ -19,8 +19,9 @@
|
||||
src << "<font color=green>Communication circuit reinitialized. Speech and messaging functionality restored.</font>"
|
||||
|
||||
/mob/living/silicon/pai/updatehealth()
|
||||
if(src.nodamage)
|
||||
src.health = 100
|
||||
src.stat = 0
|
||||
if(status_flags & GODMODE)
|
||||
health = 100
|
||||
stat = CONSCIOUS
|
||||
else
|
||||
src.health = 100 - src.getBruteLoss() - src.getFireLoss()
|
||||
health = 100 - getBruteLoss() - getFireLoss()
|
||||
|
||||
|
||||
@@ -155,7 +155,7 @@
|
||||
hands.icon_state = "medical"
|
||||
icon_state = "surgeon"
|
||||
modtype = "Med"
|
||||
nopush = 1
|
||||
status_flags &= ~CANPUSH
|
||||
feedback_inc("cyborg_medical",1)
|
||||
|
||||
if("Security")
|
||||
@@ -165,7 +165,7 @@
|
||||
icon_state = "bloodhound"
|
||||
modtype = "Sec"
|
||||
//speed = -1 Secborgs have nerfed tasers now, so the speed boost is not necessary
|
||||
nopush = 1
|
||||
status_flags &= ~CANPUSH
|
||||
feedback_inc("cyborg_security",1)
|
||||
|
||||
if("Engineering")
|
||||
@@ -327,7 +327,7 @@
|
||||
usr << "\red <B>You fail to push [tmob]'s fat ass out of the way.</B>"
|
||||
now_pushing = 0
|
||||
return
|
||||
if(tmob.nopush)
|
||||
if(!(tmob.status_flags & CANPUSH))
|
||||
now_pushing = 0
|
||||
return
|
||||
now_pushing = 0
|
||||
|
||||
@@ -185,7 +185,7 @@
|
||||
src << "\red <B>You fail to push [tmob]'s fat ass out of the way.</B>"
|
||||
now_pushing = 0
|
||||
return
|
||||
if(tmob.nopush)
|
||||
if(!(tmob.status_flags & CANPUSH))
|
||||
now_pushing = 0
|
||||
return
|
||||
|
||||
|
||||
@@ -64,7 +64,7 @@
|
||||
src << "\red <B>You fail to push [tmob]'s fat ass out of the way.</B>"
|
||||
now_pushing = 0
|
||||
return
|
||||
if(tmob.nopush)
|
||||
if(!(tmob.status_flags & CANPUSH))
|
||||
now_pushing = 0
|
||||
return
|
||||
|
||||
@@ -142,7 +142,6 @@
|
||||
attacktext = "smashes their armoured gauntlet into"
|
||||
speed = 3
|
||||
wall_smash = 1
|
||||
nopush = 1
|
||||
attack_sound = 'sound/weapons/punch3.ogg'
|
||||
|
||||
/mob/living/simple_animal/construct/armoured/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
@@ -212,7 +211,6 @@
|
||||
attacktext = "rams"
|
||||
speed = 0
|
||||
wall_smash = 1
|
||||
nopush = 1
|
||||
attack_sound = 'sound/weapons/punch2.ogg'
|
||||
|
||||
|
||||
@@ -236,7 +234,6 @@
|
||||
attacktext = "brutally crushes"
|
||||
speed = 5
|
||||
wall_smash = 1
|
||||
nopush = 1
|
||||
attack_sound = 'sound/weapons/punch4.ogg'
|
||||
var/energy = 0
|
||||
var/max_energy = 1000
|
||||
|
||||
@@ -326,7 +326,7 @@
|
||||
src << "\red <B>You fail to push [tmob]'s fat ass out of the way.</B>"
|
||||
now_pushing = 0
|
||||
return
|
||||
if(tmob.nopush)
|
||||
if(!(tmob.status_flags & CANPUSH))
|
||||
now_pushing = 0
|
||||
return
|
||||
|
||||
|
||||
@@ -262,7 +262,7 @@
|
||||
if("grab")
|
||||
if (M == src)
|
||||
return
|
||||
if (nopush)
|
||||
if (!(status_flags & CANPUSH))
|
||||
return
|
||||
var/obj/item/weapon/grab/G = new /obj/item/weapon/grab( M, M, src )
|
||||
|
||||
@@ -301,7 +301,7 @@
|
||||
if ("grab")
|
||||
if(M == src)
|
||||
return
|
||||
if (nopush)
|
||||
if(!(status_flags & CANPUSH))
|
||||
return
|
||||
var/obj/item/weapon/grab/G = new /obj/item/weapon/grab( M, M, src )
|
||||
|
||||
|
||||
@@ -186,7 +186,7 @@
|
||||
weapon1 = /obj/item/weapon/melee/energy/sword/red
|
||||
weapon2 = /obj/item/weapon/shield/energy
|
||||
attacktext = "slashes"
|
||||
nopush = 1
|
||||
status_flags = CANSTUN|CANWEAKEN|CANPARALYSE
|
||||
|
||||
/mob/living/simple_animal/syndicate/melee/attackby(var/obj/item/O as obj, var/mob/user as mob)
|
||||
if(O.force)
|
||||
@@ -276,7 +276,7 @@
|
||||
src << "\red <B>You fail to push [tmob]'s fat ass out of the way.</B>"
|
||||
now_pushing = 0
|
||||
return
|
||||
if(tmob.nopush)
|
||||
if(!(tmob.status_flags & CANPUSH))
|
||||
now_pushing = 0
|
||||
return
|
||||
|
||||
|
||||
@@ -5,6 +5,7 @@
|
||||
icon_state = "spaceworm"
|
||||
icon_living = "spaceworm"
|
||||
icon_dead = "spacewormdead"
|
||||
status_flags = 0
|
||||
|
||||
speak_emote = list("transmits") //not supposed to be used under AI control
|
||||
emote_hear = list("transmits") //I'm just adding it so it doesn't runtime if controlled by player who speaks
|
||||
@@ -29,7 +30,6 @@
|
||||
|
||||
a_intent = "harm" //so they don't get pushed around
|
||||
|
||||
nopush = 1
|
||||
wall_smash = 1
|
||||
|
||||
speed = -1
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
//Not in use yet
|
||||
var/obj/effect/organstructure/organStructure = null
|
||||
|
||||
// var/uses_hud = 0
|
||||
var/obj/screen/flash = null
|
||||
var/obj/screen/blind = null
|
||||
var/obj/screen/hands = null
|
||||
@@ -61,11 +60,9 @@
|
||||
var/ear_damage = null //Carbon
|
||||
var/stuttering = null //Carbon
|
||||
var/real_name = null
|
||||
// var/original_name = null //Original name is only used in ghost chat! Depracated, now used bb
|
||||
var/blinded = null
|
||||
var/bhunger = 0 //Carbon
|
||||
var/ajourn = 0
|
||||
// var/rejuv = null
|
||||
var/druggy = 0 //Carbon
|
||||
var/confused = 0 //Carbon
|
||||
var/antitoxs = null
|
||||
@@ -120,7 +117,6 @@
|
||||
|
||||
var/datum/hud/hud_used = null
|
||||
|
||||
//var/list/organs = list( ) //moved to human.
|
||||
var/list/grabbed_by = list( )
|
||||
var/list/requests = list( )
|
||||
|
||||
@@ -137,10 +133,6 @@
|
||||
|
||||
var/job = null//Living
|
||||
|
||||
var/nodamage = 0
|
||||
|
||||
var/be_syndicate = 0//This really should be a client variable.
|
||||
var/be_random_name = 0
|
||||
var/const/blindness = 1//Carbon
|
||||
var/const/deafness = 2//Carbon
|
||||
var/const/muteness = 4//Carbon
|
||||
@@ -193,10 +185,7 @@
|
||||
|
||||
var/update_icon = 1 //Set to 1 to trigger update_icons() at the next life() call
|
||||
|
||||
var/UI = 'icons/mob/screen1_Midnight.dmi' // For changing the UI from preferences
|
||||
|
||||
var/status_flags = 255 //bitflags defining which status effects can be inflicted (replaces canweaken, canstun, etc)
|
||||
var/nopush = 0 //Can they be shoved?
|
||||
var/status_flags = CANSTUN|CANWEAKEN|CANPARALYSE|CANPUSH //bitflags defining which status effects can be inflicted (replaces canweaken, canstun, etc)
|
||||
|
||||
var/area/lastarea = null
|
||||
|
||||
@@ -211,4 +200,4 @@
|
||||
//Whether or not mobs can understand other mobtypes. These stay in /mob so that ghosts can hear everything.
|
||||
var/universal_speak = 0 // Set to 1 to enable the mob to speak to everyone -- TLE
|
||||
var/robot_talk_understand = 0
|
||||
var/alien_talk_understand = 0
|
||||
var/alien_talk_understand = 0
|
||||
@@ -41,7 +41,6 @@
|
||||
M.real_name = src.real_name
|
||||
|
||||
M.dna = src.dna
|
||||
M.UI = src.UI
|
||||
|
||||
if(mind)
|
||||
mind.transfer_to(M)
|
||||
|
||||
@@ -114,9 +114,9 @@
|
||||
src << "\blue Now teleporting."
|
||||
observer.loc = O.loc
|
||||
if(client.prefs.be_random_name)
|
||||
client.prefs.randomize_name()
|
||||
observer.name = client.prefs.real_name
|
||||
observer.real_name = observer.name
|
||||
client.prefs.real_name = random_name()
|
||||
observer.real_name = client.prefs.real_name
|
||||
observer.name = observer.real_name
|
||||
observer.key = key
|
||||
|
||||
del(src)
|
||||
@@ -296,7 +296,7 @@
|
||||
|
||||
if(ticker.random_players)
|
||||
new_character.gender = pick(MALE, FEMALE)
|
||||
client.prefs.randomize_name()
|
||||
client.prefs.real_name = random_name()
|
||||
client.prefs.randomize_appearance_for(new_character)
|
||||
else
|
||||
client.prefs.copy_to(new_character)
|
||||
|
||||
@@ -5,171 +5,30 @@ datum/preferences
|
||||
gender = MALE
|
||||
else
|
||||
gender = FEMALE
|
||||
randomize_skin_tone()
|
||||
randomize_hair(gender)
|
||||
randomize_hair_color("hair")
|
||||
if(gender == MALE)//only for dudes.
|
||||
randomize_facial()
|
||||
randomize_hair_color("facial")
|
||||
randomize_eyes_color()
|
||||
underwear = 1
|
||||
s_tone = random_skin_tone()
|
||||
h_style = random_hair_style(gender)
|
||||
f_style = random_facial_hair_style(gender)
|
||||
r_hair = rand(0,255)
|
||||
g_hair = rand(0,255)
|
||||
b_hair = rand(0,255)
|
||||
r_facial = r_hair
|
||||
g_facial = g_hair
|
||||
b_facial = b_hair
|
||||
r_eyes = rand(0,255)
|
||||
g_eyes = rand(0,255)
|
||||
b_eyes = rand(0,255)
|
||||
underwear = rand(1,underwear_m.len)
|
||||
backbag = 2
|
||||
age = rand(19,35)
|
||||
age = rand(AGE_MIN,AGE_MAX)
|
||||
copy_to(H,1)
|
||||
|
||||
proc/randomize_name()
|
||||
if(gender == MALE)
|
||||
real_name = capitalize(pick(first_names_male) + " " + capitalize(pick(last_names)))
|
||||
else
|
||||
real_name = capitalize(pick(first_names_female) + " " + capitalize(pick(last_names)))
|
||||
return
|
||||
|
||||
proc/randomize_hair(var/gender)
|
||||
h_style = pick(hair_styles_list)
|
||||
|
||||
|
||||
proc/randomize_facial() // uncommented, see randomize_hair() for commentation
|
||||
f_style = pick(facial_hair_styles_list)
|
||||
|
||||
proc/randomize_skin_tone()
|
||||
var/tone
|
||||
|
||||
var/tmp = pickweight ( list ("caucasian" = 55, "afroamerican" = 15, "african" = 10, "latino" = 10, "albino" = 5, "weird" = 5))
|
||||
switch (tmp)
|
||||
if ("caucasian")
|
||||
tone = -45 + 35
|
||||
if ("afroamerican")
|
||||
tone = -150 + 35
|
||||
if ("african")
|
||||
tone = -200 + 35
|
||||
if ("latino")
|
||||
tone = -90 + 35
|
||||
if ("albino")
|
||||
tone = -1 + 35
|
||||
if ("weird")
|
||||
tone = -(rand (1, 220)) + 35
|
||||
|
||||
s_tone = min(max(tone + rand (-25, 25), -185), 34)
|
||||
|
||||
proc/randomize_hair_color(var/target = "hair")
|
||||
if (prob (75) && target == "facial") // Chance to inherit hair color
|
||||
r_facial = r_hair
|
||||
g_facial = g_hair
|
||||
b_facial = b_hair
|
||||
return
|
||||
|
||||
var/red
|
||||
var/green
|
||||
var/blue
|
||||
|
||||
var/col = pick ("blonde", "black", "chestnut", "copper", "brown", "wheat", "old", "punk")
|
||||
switch (col)
|
||||
if ("blonde")
|
||||
red = 255
|
||||
green = 255
|
||||
blue = 0
|
||||
if ("black")
|
||||
red = 0
|
||||
green = 0
|
||||
blue = 0
|
||||
if ("chestnut")
|
||||
red = 153
|
||||
green = 102
|
||||
blue = 51
|
||||
if ("copper")
|
||||
red = 255
|
||||
green = 153
|
||||
blue = 0
|
||||
if ("brown")
|
||||
red = 102
|
||||
green = 51
|
||||
blue = 0
|
||||
if ("wheat")
|
||||
red = 255
|
||||
green = 255
|
||||
blue = 153
|
||||
if ("old")
|
||||
red = rand (100, 255)
|
||||
green = red
|
||||
blue = red
|
||||
if ("punk")
|
||||
red = rand (0, 255)
|
||||
green = rand (0, 255)
|
||||
blue = rand (0, 255)
|
||||
|
||||
red = max(min(red + rand (-25, 25), 255), 0)
|
||||
green = max(min(green + rand (-25, 25), 255), 0)
|
||||
blue = max(min(blue + rand (-25, 25), 255), 0)
|
||||
|
||||
switch(target)
|
||||
if ("hair")
|
||||
r_hair = red
|
||||
g_hair = green
|
||||
b_hair = blue
|
||||
if ("facial")
|
||||
r_facial = red
|
||||
g_facial = green
|
||||
b_facial = blue
|
||||
|
||||
proc/randomize_eyes_color()
|
||||
var/red
|
||||
var/green
|
||||
var/blue
|
||||
|
||||
var/col = pick ("black", "grey", "brown", "chestnut", "blue", "lightblue", "green", "albino", "weird")
|
||||
switch (col)
|
||||
if ("black")
|
||||
red = 0
|
||||
green = 0
|
||||
blue = 0
|
||||
if ("grey")
|
||||
red = rand (100, 200)
|
||||
green = red
|
||||
blue = red
|
||||
if ("brown")
|
||||
red = 102
|
||||
green = 51
|
||||
blue = 0
|
||||
if ("chestnut")
|
||||
red = 153
|
||||
green = 102
|
||||
blue = 0
|
||||
if ("blue")
|
||||
red = 51
|
||||
green = 102
|
||||
blue = 204
|
||||
if ("lightblue")
|
||||
red = 102
|
||||
green = 204
|
||||
blue = 255
|
||||
if ("green")
|
||||
red = 0
|
||||
green = 102
|
||||
blue = 0
|
||||
if ("albino")
|
||||
red = rand (200, 255)
|
||||
green = rand (0, 150)
|
||||
blue = rand (0, 150)
|
||||
if ("weird")
|
||||
red = rand (0, 255)
|
||||
green = rand (0, 255)
|
||||
blue = rand (0, 255)
|
||||
|
||||
red = max(min(red + rand (-25, 25), 255), 0)
|
||||
green = max(min(green + rand (-25, 25), 255), 0)
|
||||
blue = max(min(blue + rand (-25, 25), 255), 0)
|
||||
|
||||
r_eyes = red
|
||||
g_eyes = green
|
||||
b_eyes = blue
|
||||
|
||||
proc/update_preview_icon()
|
||||
proc/update_preview_icon() //seriously. This is horrendous.
|
||||
del(preview_icon_front)
|
||||
del(preview_icon_side)
|
||||
var/icon/preview_icon = null
|
||||
|
||||
var/g = "m"
|
||||
if (gender == FEMALE) g = "f"
|
||||
if(gender == FEMALE) g = "f"
|
||||
|
||||
preview_icon = new /icon('icons/mob/human.dmi', "body_[g]_s")
|
||||
|
||||
@@ -492,47 +351,4 @@ datum/preferences
|
||||
|
||||
del(preview_icon)
|
||||
del(eyes_s)
|
||||
del(clothes_s)
|
||||
|
||||
|
||||
proc/skintone2racedescription(var/tone)
|
||||
switch (tone)
|
||||
if(30 to INFINITY)
|
||||
return "albino"
|
||||
if(20 to 30)
|
||||
return "pale"
|
||||
if(5 to 15)
|
||||
return "light skinned"
|
||||
if(-10 to 5)
|
||||
return "white"
|
||||
if(-25 to -10)
|
||||
return "tan"
|
||||
if(-45 to -25)
|
||||
return "darker skinned"
|
||||
if(-65 to -45)
|
||||
return "brown"
|
||||
if(-INFINITY to -65)
|
||||
return "black"
|
||||
|
||||
|
||||
proc/age2agedescription(var/age)
|
||||
switch (age)
|
||||
if(0 to 1)
|
||||
return "infant"
|
||||
if(1 to 3)
|
||||
return "toddler"
|
||||
if(3 to 13)
|
||||
return "child"
|
||||
if(13 to 19)
|
||||
return "teenager"
|
||||
if(19 to 30)
|
||||
return "young adult"
|
||||
if(30 to 45)
|
||||
return "adult"
|
||||
if(45 to 60)
|
||||
return "middle-aged"
|
||||
if(60 to 70)
|
||||
return "aging"
|
||||
if(70 to INFINITY)
|
||||
return "elderly"
|
||||
|
||||
del(clothes_s)
|
||||
@@ -26,8 +26,7 @@
|
||||
var/name // the preview name of the accessory
|
||||
|
||||
// Determines if the accessory will be skipped or included in random hair generations
|
||||
var/choose_female = 1
|
||||
var/choose_male = 1
|
||||
var/gender = NEUTER
|
||||
|
||||
|
||||
/*
|
||||
@@ -97,12 +96,12 @@
|
||||
pompadour
|
||||
name = "Pompadour"
|
||||
icon_state = "hair_pompadour"
|
||||
choose_female = 0
|
||||
gender = MALE
|
||||
|
||||
quiff
|
||||
name = "Quiff"
|
||||
icon_state = "hair_quiff"
|
||||
choose_female = 0
|
||||
gender = MALE
|
||||
|
||||
bedhead
|
||||
name = "Bedhead"
|
||||
@@ -119,37 +118,37 @@
|
||||
beehive
|
||||
name = "Beehive"
|
||||
icon_state = "hair_beehive"
|
||||
choose_male = 0
|
||||
gender = FEMALE
|
||||
|
||||
bobcurl
|
||||
name = "Bobcurl"
|
||||
icon_state = "hair_bobcurl"
|
||||
choose_male = 0
|
||||
gender = FEMALE
|
||||
|
||||
bob
|
||||
name = "Bob"
|
||||
icon_state = "hair_bobcut"
|
||||
choose_male = 0
|
||||
gender = FEMALE
|
||||
|
||||
bowl
|
||||
name = "Bowl"
|
||||
icon_state = "hair_bowlcut"
|
||||
choose_female = 0
|
||||
gender = MALE
|
||||
|
||||
buzz
|
||||
name = "Buzzcut"
|
||||
icon_state = "hair_buzzcut"
|
||||
choose_female = 0
|
||||
gender = MALE
|
||||
|
||||
crew
|
||||
name = "Crewcut"
|
||||
icon_state = "hair_crewcut"
|
||||
choose_female = 0
|
||||
gender = MALE
|
||||
|
||||
combover
|
||||
name = "Combover"
|
||||
icon_state = "hair_combover"
|
||||
choose_female = 0
|
||||
gender = MALE
|
||||
|
||||
devillock
|
||||
name = "Devil Lock"
|
||||
@@ -158,7 +157,7 @@
|
||||
dreadlocks
|
||||
name = "Dreadlocks"
|
||||
icon_state = "hair_dreads"
|
||||
choose_female = 0 // okay.jpg
|
||||
gender = MALE // okay.jpg
|
||||
|
||||
curls
|
||||
name = "Curls"
|
||||
@@ -175,12 +174,12 @@
|
||||
afro_large
|
||||
name = "Big Afro"
|
||||
icon_state = "hair_bigafro"
|
||||
choose_female = 0
|
||||
gender = MALE
|
||||
|
||||
sargeant
|
||||
name = "Flat Top"
|
||||
icon_state = "hair_sargeant"
|
||||
choose_female = 0
|
||||
gender = MALE
|
||||
|
||||
emo
|
||||
name = "Emo"
|
||||
@@ -197,27 +196,27 @@
|
||||
hitop
|
||||
name = "Hitop"
|
||||
icon_state = "hair_hitop"
|
||||
choose_female = 0
|
||||
gender = MALE
|
||||
|
||||
mohawk
|
||||
name = "Mohawk"
|
||||
icon_state = "hair_d"
|
||||
choose_female = 0 // gross
|
||||
gender = MALE // gross
|
||||
|
||||
jensen
|
||||
name = "Adam Jensen Hair"
|
||||
icon_state = "hair_jensen"
|
||||
choose_female = 0
|
||||
gender = MALE
|
||||
|
||||
gelled
|
||||
name = "Gelled Back"
|
||||
icon_state = "hair_gelled"
|
||||
choose_male = 0
|
||||
gender = FEMALE
|
||||
|
||||
spiky
|
||||
name = "Spiky"
|
||||
icon_state = "hair_spikey"
|
||||
choose_female = 0
|
||||
gender = MALE
|
||||
|
||||
kusangi
|
||||
name = "Kusanagi Hair"
|
||||
@@ -226,32 +225,32 @@
|
||||
kagami
|
||||
name = "Pigtails"
|
||||
icon_state = "hair_kagami"
|
||||
choose_male = 0
|
||||
gender = FEMALE
|
||||
|
||||
himecut
|
||||
name = "Hime Cut"
|
||||
icon_state = "hair_himecut"
|
||||
choose_male = 0
|
||||
gender = FEMALE
|
||||
|
||||
braid
|
||||
name = "Floorlength Braid"
|
||||
icon_state = "hair_braid"
|
||||
choose_male = 0
|
||||
gender = FEMALE
|
||||
|
||||
odango
|
||||
name = "Odango"
|
||||
icon_state = "hair_odango"
|
||||
choose_male = 0
|
||||
gender = FEMALE
|
||||
|
||||
ombre
|
||||
name = "Ombre"
|
||||
icon_state = "hair_ombre"
|
||||
choose_male = 0
|
||||
gender = FEMALE
|
||||
|
||||
updo
|
||||
name = "Updo"
|
||||
icon_state = "hair_updo"
|
||||
choose_male = 0
|
||||
gender = FEMALE
|
||||
|
||||
skinhead
|
||||
name = "Skinhead"
|
||||
@@ -260,12 +259,12 @@
|
||||
balding
|
||||
name = "Balding Hair"
|
||||
icon_state = "hair_e"
|
||||
choose_female = 0 // turnoff!
|
||||
gender = MALE // turnoff!
|
||||
|
||||
bald
|
||||
name = "Bald"
|
||||
icon_state = "bald"
|
||||
choose_female = 0
|
||||
gender = MALE
|
||||
|
||||
/*
|
||||
///////////////////////////////////
|
||||
@@ -278,12 +277,12 @@
|
||||
/datum/sprite_accessory/facial_hair
|
||||
|
||||
icon = 'icons/mob/human_face.dmi'
|
||||
choose_female = 0 // barf (unless you're a dorf, dorfs dig chix /w beards :P)
|
||||
gender = MALE // barf (unless you're a dorf, dorfs dig chix /w beards :P)
|
||||
|
||||
shaved
|
||||
name = "Shaved"
|
||||
icon_state = "bald"
|
||||
choose_female = 1 // shaved is the only facial hair on women because why would chicks have beards???
|
||||
gender = NEUTER
|
||||
|
||||
watson
|
||||
name = "Watson Mustache"
|
||||
@@ -348,9 +347,3 @@
|
||||
dwarf
|
||||
name = "Dwarf Beard"
|
||||
icon_state = "facial_dwarf"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
del(animation)
|
||||
|
||||
O.name = "monkey"
|
||||
O.UI = UI
|
||||
O.dna = dna
|
||||
dna = null
|
||||
O.dna.uni_identity = "00600200A00E0110148FC01300B009"
|
||||
@@ -124,7 +123,6 @@
|
||||
O.verbs += /mob/living/silicon/ai/proc/ai_roster
|
||||
|
||||
O.job = "AI"
|
||||
O.UI = UI
|
||||
|
||||
O.rename_self("ai",1)
|
||||
. = O
|
||||
@@ -156,7 +154,6 @@
|
||||
O.gender = gender
|
||||
O.invisibility = 0
|
||||
|
||||
O.UI = UI
|
||||
|
||||
if(mind) //TODO
|
||||
mind.transfer_to(O)
|
||||
@@ -203,7 +200,6 @@
|
||||
new_xeno = new /mob/living/carbon/alien/humanoid/drone(loc)
|
||||
|
||||
new_xeno.a_intent = "hurt"
|
||||
new_xeno.UI = UI
|
||||
new_xeno.key = key
|
||||
|
||||
new_xeno << "<B>You are now an alien.</B>"
|
||||
@@ -240,7 +236,6 @@
|
||||
else
|
||||
new_metroid = new /mob/living/carbon/metroid(loc)
|
||||
new_metroid.a_intent = "hurt"
|
||||
new_metroid.UI = UI
|
||||
new_metroid.key = key
|
||||
|
||||
new_metroid << "<B>You are now a Metroid. Skreee!</B>"
|
||||
@@ -263,7 +258,6 @@
|
||||
|
||||
var/mob/living/simple_animal/corgi/new_corgi = new /mob/living/simple_animal/corgi (loc)
|
||||
new_corgi.a_intent = "hurt"
|
||||
new_corgi.UI = UI
|
||||
new_corgi.key = key
|
||||
|
||||
new_corgi << "<B>You are now a Corgi. Yap Yap!</B>"
|
||||
@@ -298,7 +292,6 @@
|
||||
|
||||
new_mob.key = key
|
||||
new_mob.a_intent = "hurt"
|
||||
new_mob.UI = UI
|
||||
|
||||
|
||||
new_mob << "You suddenly feel more... animalistic."
|
||||
@@ -319,7 +312,6 @@
|
||||
|
||||
new_mob.key = key
|
||||
new_mob.a_intent = "hurt"
|
||||
new_mob.UI = UI
|
||||
new_mob << "You feel more... animalistic"
|
||||
|
||||
del(src)
|
||||
|
||||
Reference in New Issue
Block a user