mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-26 10:04:12 +00:00
Tweaked hunger values once more.
Added check if you already ate something but it was not yet metabolized. It's harder to overeat now. Improved the random look generator. Now it takes in account real-life statistics of skin tone and blood group distribution, and has different colors. Fixed bug that sprinkles did not metabolized in non-security body. Made rig suit to be proper space suit. Cleaned some code Made mopbucket to have 100 volume. Added radio report diagnostic verb (but with no effect for now) git-svn-id: http://tgstation13.googlecode.com/svn/trunk@551 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -14,6 +14,7 @@ datum
|
||||
var/reagent_state = SOLID
|
||||
var/data = null
|
||||
var/volume = 0
|
||||
var/nutriment_factor = 0
|
||||
|
||||
proc
|
||||
reaction_mob(var/mob/M, var/method=TOUCH, var/volume) //By default we have a chance to transfer some
|
||||
@@ -42,7 +43,7 @@ datum
|
||||
return
|
||||
|
||||
on_mob_life(var/mob/M)
|
||||
holder.remove_reagent(src.id, 0.4) //By default it slowly disappears.
|
||||
holder.remove_reagent(src.id, REAGENTS_METABOLISM) //By default it slowly disappears.
|
||||
return
|
||||
|
||||
on_move(var/mob/M)
|
||||
@@ -1154,10 +1155,24 @@ datum
|
||||
id = "nutriment"
|
||||
description = "All the vitamins, minerals, and carbohydrates the body needs in pure form."
|
||||
reagent_state = SOLID
|
||||
nutriment_factor = 25 * REAGENTS_METABOLISM
|
||||
on_mob_life(var/mob/M)
|
||||
if(!M) M = holder.my_atom
|
||||
if(prob(50)) M:bruteloss--
|
||||
M:nutrition += 10 // For hunger and fatness
|
||||
M:nutrition += nutriment_factor // For hunger and fatness
|
||||
/*
|
||||
// If overeaten - vomit and fall down
|
||||
// Makes you feel bad but removes reagents and some effects
|
||||
// from your body
|
||||
if (M.nutrition > 650)
|
||||
M.nutrition = rand (250, 400)
|
||||
M.weakened += rand(2, 10)
|
||||
M.jitteriness += rand(0, 5)
|
||||
M.dizziness = max (0, (M.dizziness - rand(0, 15)))
|
||||
M.druggy = max (0, (M.druggy - rand(0, 15)))
|
||||
M.toxloss = max (0, (M.toxloss - rand(5, 15)))
|
||||
M.updatehealth()
|
||||
*/
|
||||
..()
|
||||
return
|
||||
|
||||
@@ -1166,18 +1181,21 @@ datum
|
||||
id = "soysauce"
|
||||
description = "A salty sauce made from the soy plant."
|
||||
reagent_state = LIQUID
|
||||
nutriment_factor = 2 * REAGENTS_METABOLISM
|
||||
|
||||
ketchup
|
||||
name = "Ketchup"
|
||||
id = "ketchup"
|
||||
description = "Ketchup, catsup, whatever. It's tomato paste."
|
||||
reagent_state = LIQUID
|
||||
nutriment_factor = 5 * REAGENTS_METABOLISM
|
||||
|
||||
capsaicin
|
||||
name = "Capsaicin Oil"
|
||||
id = "capsaicin"
|
||||
description = "This is what makes chilis hot."
|
||||
reagent_state = LIQUID
|
||||
nutriment_factor = 5 * REAGENTS_METABOLISM
|
||||
on_mob_life(var/mob/M)
|
||||
if(!M) M = holder.my_atom
|
||||
M:bodytemperature += 5
|
||||
@@ -1190,6 +1208,7 @@ datum
|
||||
id = "frostoil"
|
||||
description = "A special oil that noticably chills the body. Extraced from Icepeppers."
|
||||
reagent_state = LIQUID
|
||||
nutriment_factor = 5 * REAGENTS_METABOLISM
|
||||
on_mob_life(var/mob/M)
|
||||
if(!M) M = holder.my_atom
|
||||
M:bodytemperature -= 5
|
||||
@@ -1202,12 +1221,14 @@ datum
|
||||
id = "sodiumchloride"
|
||||
description = "A salt made of sodium chloride. Commonly used to season food."
|
||||
reagent_state = SOLID
|
||||
nutriment_factor = 1 * REAGENTS_METABOLISM
|
||||
|
||||
blackpepper
|
||||
name = "Black Pepper"
|
||||
id = "blackpepper"
|
||||
description = "A power ground from peppercorns. *AAAACHOOO*"
|
||||
reagent_state = SOLID
|
||||
nutriment_factor = 1 * REAGENTS_METABOLISM
|
||||
|
||||
amatoxin
|
||||
name = "Amatoxin"
|
||||
@@ -1236,22 +1257,26 @@ datum
|
||||
name = "Sprinkles"
|
||||
id = "sprinkles"
|
||||
description = "Multi-colored little bits of sugar, commonly found on donuts. Loved by cops."
|
||||
nutriment_factor = 1 * REAGENTS_METABOLISM
|
||||
on_mob_life(var/mob/M)
|
||||
M:nutrition += nutriment_factor
|
||||
if(istype(M, /mob/living/carbon/human) && M.job in list("Security Officer", "Head of Security", "Detective"))
|
||||
if(!M) M = holder.my_atom
|
||||
M:bruteloss--
|
||||
M:fireloss--
|
||||
M:nutrition++
|
||||
M:nutrition += nutriment_factor
|
||||
..()
|
||||
return
|
||||
..()
|
||||
|
||||
oliveoil
|
||||
name = "Olive Oil"
|
||||
id = "oliveoil"
|
||||
description = "An oil derived from various types of olives. A famous export of Space Italy."
|
||||
reagent_state = LIQUID
|
||||
nutriment_factor = 20 * REAGENTS_METABOLISM
|
||||
on_mob_life(var/mob/M)
|
||||
M:nutrition += 20
|
||||
M:nutrition += nutriment_factor
|
||||
..()
|
||||
return
|
||||
reaction_turf(var/turf/T, var/volume)
|
||||
@@ -1290,9 +1315,10 @@ datum
|
||||
id = "berryjuice"
|
||||
description = "A delicious blend of several different kinds of berries."
|
||||
reagent_state = LIQUID
|
||||
nutriment_factor = 1 * REAGENTS_METABOLISM
|
||||
on_mob_life(var/mob/M)
|
||||
if(!M) M = holder.my_atom
|
||||
M:nutrition++
|
||||
M:nutrition += nutriment_factor
|
||||
..()
|
||||
return
|
||||
|
||||
|
||||
@@ -729,7 +729,6 @@
|
||||
|
||||
playsound(M.loc,'drink.ogg', rand(10,50), 1)
|
||||
return 1
|
||||
|
||||
return 0
|
||||
|
||||
attackby(obj/item/I as obj, mob/user as mob)
|
||||
@@ -754,7 +753,6 @@
|
||||
if(!reagents.total_volume)
|
||||
user << "\red [src] is empty."
|
||||
return
|
||||
|
||||
if(target.reagents.total_volume >= target.reagents.maximum_volume)
|
||||
user << "\red you can't add anymore to [target]."
|
||||
return
|
||||
@@ -782,23 +780,26 @@
|
||||
return 0
|
||||
if(istype(M, /mob/living/carbon/human))
|
||||
if(M == user) //If you're eating it yourself.
|
||||
if (M.nutrition <= 50)
|
||||
var/fullness = M.nutrition + (M.reagents.get_reagent_amount("nutriment") * 25)
|
||||
if (fullness <= 50)
|
||||
M << "\red You hungrily chew out a piece of [src] and gobble it!"
|
||||
if (M.nutrition > 50 && M.nutrition <= 150)
|
||||
if (fullness > 50 && fullness <= 150)
|
||||
M << "\blue You hungrily begin to eat [src]."
|
||||
if (M.nutrition > 150 && M.nutrition <= 350)
|
||||
if (fullness > 150 && fullness <= 350)
|
||||
M << "\blue You take a bite of [src]."
|
||||
if (M.nutrition > 350 && M.nutrition <= 550)
|
||||
if (fullness > 350 && fullness <= 550)
|
||||
M << "\blue You unwillingly chew a bit of [src]."
|
||||
if (M.nutrition > (550 * (1 + M.overeatduration / 1000))) // The more he eats - the more he can eat
|
||||
if (fullness > (550 * (1 + M.overeatduration / 1000))) // The more he eats - the more he can eat
|
||||
M << "\red You cannot force any more of [src] to go down your throat."
|
||||
return 0
|
||||
else //If you're feeding it to someone else.
|
||||
var/fullness = M.nutrition + (M.reagents.get_reagent_amount("nutriment") * 10)
|
||||
if (fullness <= (550 * (1 + M.overeatduration / 1000)))
|
||||
for(var/mob/O in viewers(world.view, user))
|
||||
if (M.nutrition <= (550 * (1 + M.overeatduration / 1000)))
|
||||
O.show_message("\red [user] attempts to feed [M] [src].", 1)
|
||||
else
|
||||
O.show_message("\red [user] cannot force anymore of [src] down [M] throat.", 1)
|
||||
for(var/mob/O in viewers(world.view, user))
|
||||
O.show_message("\red [user] cannot force anymore of [src] down [M]'s throat.", 1)
|
||||
return 0
|
||||
|
||||
if(!do_mob(user, M)) return
|
||||
@@ -1024,7 +1025,7 @@
|
||||
amount_per_transfer_from_this = 20
|
||||
flags = FPRINT | OPENCONTAINER
|
||||
New()
|
||||
var/datum/reagents/R = new/datum/reagents(90)
|
||||
var/datum/reagents/R = new/datum/reagents(70)
|
||||
reagents = R
|
||||
R.my_atom = src
|
||||
|
||||
@@ -1051,7 +1052,6 @@
|
||||
amount_per_transfer_from_this = 10
|
||||
flags = FPRINT | TABLEPASS | OPENCONTAINER
|
||||
|
||||
|
||||
/obj/item/weapon/reagent_containers/glass/dispenser/surfactant
|
||||
name = "reagent glass (surfactant)"
|
||||
icon_state = "liquid"
|
||||
@@ -1362,7 +1362,7 @@
|
||||
icon_state = "donut1"
|
||||
New()
|
||||
..()
|
||||
reagents.add_reagent("nutriment", 2)
|
||||
reagents.add_reagent("nutriment", 3)
|
||||
reagents.add_reagent("sprinkles", 1)
|
||||
if(prob(30))
|
||||
src.icon_state = "donut2"
|
||||
|
||||
@@ -259,6 +259,9 @@
|
||||
name = "rig helmet"
|
||||
icon_state = "rig"
|
||||
item_state = "rig_helm"
|
||||
flags = FPRINT | TABLEPASS | HEADSPACE | HEADCOVERSEYES | HEADCOVERSMOUTH
|
||||
see_face = 0.0
|
||||
permeability_coefficient = 0.01
|
||||
|
||||
/obj/item/clothing/head/helmet/space/syndicate
|
||||
name = "red space helmet"
|
||||
@@ -695,6 +698,13 @@
|
||||
desc = "A special suit that protects against hazardous, low pressure environments."
|
||||
icon_state = "rig"
|
||||
item_state = "rig_suit"
|
||||
gas_transfer_coefficient = 0.01
|
||||
w_class = 4//bulky item
|
||||
flags = FPRINT | TABLEPASS | SUITSPACE
|
||||
body_parts_covered = UPPER_TORSO|LOWER_TORSO|LEGS|FEET|ARMS|HANDS
|
||||
permeability_coefficient = 0.02
|
||||
protective_temperature = 1000
|
||||
heat_transfer_coefficient = 0.02
|
||||
|
||||
/obj/item/clothing/suit/space/syndicate
|
||||
name = "red space suit"
|
||||
|
||||
@@ -601,4 +601,3 @@ Please clean it before use!</TT><BR>
|
||||
new /obj/item/weapon/reagent_containers/food/snacks/cheesewedge (src.loc)
|
||||
del(src)
|
||||
return
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/obj/mopbucket/New()
|
||||
var/datum/reagents/R = new/datum/reagents(50)
|
||||
var/datum/reagents/R = new/datum/reagents(100)
|
||||
reagents = R
|
||||
R.my_atom = src
|
||||
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
del(src)
|
||||
return
|
||||
|
||||
switch (pickweight(list("extinguisher" = 50, "toolbox" = 30, "nothing" = 20)))
|
||||
switch (pickweight(list("extinguisher" = 40, "toolbox" = 40, "nothing" = 20)))
|
||||
if ("extinguisher")
|
||||
new /obj/item/weapon/extinguisher(src)
|
||||
if ("toolbox")
|
||||
|
||||
@@ -32,6 +32,7 @@
|
||||
src.verbs += /client/proc/admin_cancel_shuttle // -- Skie
|
||||
src.verbs += /client/proc/air_report
|
||||
src.verbs += /client/proc/air_status
|
||||
src.verbs += /client/proc/radio_report
|
||||
src.verbs += /client/proc/callproc
|
||||
src.verbs += /client/proc/Cell
|
||||
src.verbs += /client/proc/cmd_admin_alienize
|
||||
@@ -131,6 +132,7 @@
|
||||
src.verbs += /client/proc/admin_cancel_shuttle // -- Skie
|
||||
src.verbs += /client/proc/air_report
|
||||
src.verbs += /client/proc/air_status
|
||||
src.verbs += /client/proc/radio_report
|
||||
src.verbs += /client/proc/callproc
|
||||
src.verbs += /client/proc/Cell
|
||||
src.verbs += /client/proc/cmd_admin_alienize
|
||||
@@ -287,6 +289,7 @@
|
||||
src.verbs += /client/proc/general_report
|
||||
src.verbs += /client/proc/air_report
|
||||
src.verbs += /client/proc/air_status
|
||||
src.verbs += /client/proc/radio_report
|
||||
src.verbs += /client/proc/fix_next_move
|
||||
|
||||
src.verbs += /client/proc/toggle_view_range
|
||||
@@ -581,6 +584,7 @@
|
||||
src.verbs -= /client/proc/general_report
|
||||
src.verbs -= /client/proc/air_report
|
||||
src.verbs -= /client/proc/air_status
|
||||
src.verbs -= /client/proc/radio_report
|
||||
|
||||
src.verbs -= /client/proc/toggle_view_range
|
||||
src.verbs -= /obj/admins/proc/toggle_aliens
|
||||
@@ -764,7 +768,7 @@
|
||||
message_admins("\blue [src.ckey] warned [M.ckey], resulting in a 10 minute autoban.")
|
||||
|
||||
del(M.client)
|
||||
del(M)
|
||||
//del(M)
|
||||
|
||||
/client/proc/drop_bomb() // Some admin dickery that can probably be done better -- TLE
|
||||
set category = "Special Verbs"
|
||||
@@ -965,6 +969,7 @@
|
||||
src.verbs += /client/proc/general_report
|
||||
src.verbs += /client/proc/air_report
|
||||
src.verbs += /client/proc/air_status
|
||||
src.verbs += /client/proc/radio_report
|
||||
src.verbs += /client/proc/fix_next_move
|
||||
|
||||
src.verbs += /client/proc/toggle_view_range
|
||||
@@ -1047,6 +1052,7 @@
|
||||
src.verbs += /client/proc/general_report
|
||||
src.verbs += /client/proc/air_report
|
||||
src.verbs += /client/proc/air_status
|
||||
src.verbs += /client/proc/radio_report
|
||||
src.verbs += /client/proc/fix_next_move
|
||||
src.verbs += /obj/admins/proc/spawn_atom
|
||||
|
||||
@@ -1115,6 +1121,7 @@
|
||||
src.verbs += /client/proc/general_report
|
||||
src.verbs += /client/proc/air_report
|
||||
src.verbs += /client/proc/air_status
|
||||
src.verbs += /client/proc/radio_report
|
||||
src.verbs += /client/proc/fix_next_move
|
||||
|
||||
src.verbs += /client/proc/toggle_view_range
|
||||
@@ -1382,6 +1389,7 @@
|
||||
src.verbs -= /client/proc/general_report
|
||||
src.verbs -= /client/proc/air_report
|
||||
src.verbs -= /client/proc/air_status
|
||||
src.verbs -= /client/proc/radio_report
|
||||
src.verbs += /client/proc/fix_next_move
|
||||
|
||||
src.verbs += /client/proc/toggle_view_range
|
||||
@@ -1464,6 +1472,7 @@
|
||||
src.verbs -= /client/proc/general_report
|
||||
src.verbs -= /client/proc/air_report
|
||||
src.verbs -= /client/proc/air_status
|
||||
src.verbs -= /client/proc/radio_report
|
||||
src.verbs += /client/proc/fix_next_move
|
||||
src.verbs += /obj/admins/proc/spawn_atom
|
||||
|
||||
@@ -1532,6 +1541,7 @@
|
||||
src.verbs -= /client/proc/general_report
|
||||
src.verbs -= /client/proc/air_report
|
||||
src.verbs -= /client/proc/air_status
|
||||
src.verbs -= /client/proc/radio_report
|
||||
src.verbs -= /client/proc/fix_next_move
|
||||
|
||||
src.verbs += /client/proc/toggle_view_range
|
||||
|
||||
@@ -110,3 +110,23 @@
|
||||
message_admins("[key_name_admin(largest_click_mob)] had the largest click delay with [largest_click_time] frames / [largest_click_time/10] seconds!", 1)
|
||||
message_admins("world.time = [world.time]", 1)
|
||||
return
|
||||
|
||||
radio_report()
|
||||
set category = "Debug"
|
||||
set name = "Radio report"
|
||||
|
||||
var/output = "<b>Radio Report</b><hr>"/*
|
||||
for (var/fq in radio_controller.frequencies)
|
||||
output += "<b>Freq: [fq]</b><br>"
|
||||
var/list/datum/radio_frequency/fqs = radio_controller.frequencies[fq]
|
||||
output += " Voice: [fqs.voice.len]<br>"
|
||||
output += " Broadcast: [fqs.broadcast.len]<br>"
|
||||
output += " Tags: <br>"
|
||||
for (var/tag in fqs.tags)
|
||||
var/list/ctag = fqs.tags[tag]
|
||||
output += " [tag]: [ctag.len]<br>"
|
||||
output += " Groups: <br>"
|
||||
for (var/group in fqs.groups)
|
||||
var/list/cgroup = fqs.groups[group]
|
||||
output += " [group]: [cgroup.len]<br>"*/
|
||||
usr << browse(output,"window=radioreport")
|
||||
|
||||
@@ -341,7 +341,7 @@
|
||||
|
||||
if(reagents) reagents.metabolize(src)
|
||||
|
||||
if(src.nutrition > 400 && !(src.mutations & 32))
|
||||
if(src.nutrition > 500 && !(src.mutations & 32))
|
||||
if(prob(5 + round((src.nutrition - 200) / 2)))
|
||||
src << "\red You suddenly feel blubbery!"
|
||||
src.mutations |= 32
|
||||
|
||||
@@ -857,9 +857,12 @@
|
||||
// Commented out so hunger system won't be such shock
|
||||
// Damage and effects from not eating
|
||||
if(src.nutrition <= 50)
|
||||
src.bruteloss++
|
||||
if (prob (0.1))
|
||||
src << "\red Your stomach rumbles."
|
||||
if (prob (10))
|
||||
src << "You feel very weak"
|
||||
src.bruteloss++
|
||||
if (prob (5))
|
||||
src << "You feel very weak."
|
||||
src.weakened += rand(2, 3)
|
||||
*/
|
||||
/*
|
||||
|
||||
@@ -8,7 +8,6 @@ datum/preferences
|
||||
var/midis = 1
|
||||
var/ooccolor = "#b82e00"
|
||||
var/be_random_name = 0
|
||||
var/be_random_look = 0
|
||||
var/underwear = 1
|
||||
|
||||
var/occupation1 = "No Preference"
|
||||
@@ -46,8 +45,28 @@ datum/preferences
|
||||
else
|
||||
real_name = capitalize(pick(first_names_female) + " " + capitalize(pick(last_names)))
|
||||
|
||||
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
|
||||
|
||||
src.s_tone = min(max(tone + rand (-25, 25), -185), 34)
|
||||
|
||||
proc/randomize_hair_color(var/target = "hair")
|
||||
if (prob (50) && target == "facial") // Chance to inherit head color
|
||||
if (prob (75) && target == "facial") // Chance to inherit hair color
|
||||
r_facial = r_hair
|
||||
g_facial = g_hair
|
||||
b_facial = b_hair
|
||||
@@ -60,29 +79,29 @@ datum/preferences
|
||||
var/col = pick ("blonde", "black", "chestnut", "copper", "brown", "wheat", "old", "punk")
|
||||
switch (col)
|
||||
if ("blonde")
|
||||
red = 226
|
||||
green = 209
|
||||
blue = 140
|
||||
red = 255
|
||||
green = 255
|
||||
blue = 0
|
||||
if ("black")
|
||||
red = 0
|
||||
green = 0
|
||||
blue = 0
|
||||
if ("chestnut")
|
||||
red = 98
|
||||
green = 77
|
||||
blue = 60
|
||||
red = 153
|
||||
green = 102
|
||||
blue = 51
|
||||
if ("copper")
|
||||
red = 152
|
||||
green = 81
|
||||
blue = 63
|
||||
red = 255
|
||||
green = 153
|
||||
blue = 0
|
||||
if ("brown")
|
||||
red = 73
|
||||
green = 52
|
||||
blue = 39
|
||||
red = 102
|
||||
green = 51
|
||||
blue = 0
|
||||
if ("wheat")
|
||||
red = 210
|
||||
green = 191
|
||||
blue = 158
|
||||
red = 255
|
||||
green = 255
|
||||
blue = 153
|
||||
if ("old")
|
||||
red = rand (100, 255)
|
||||
green = red
|
||||
@@ -92,9 +111,9 @@ datum/preferences
|
||||
green = rand (0, 255)
|
||||
blue = rand (0, 255)
|
||||
|
||||
red = max(min(red + rand (-10, 10), 255), 0)
|
||||
green = max(min(green + rand (-10, 10), 255), 0)
|
||||
blue = max(min(blue + rand (-10, 10), 255), 0)
|
||||
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")
|
||||
@@ -122,37 +141,37 @@ datum/preferences
|
||||
green = red
|
||||
blue = red
|
||||
if ("brown")
|
||||
red = 60
|
||||
green = 30
|
||||
blue = 19
|
||||
if ("chestnut")
|
||||
red = 127
|
||||
green = 79
|
||||
blue = 31
|
||||
if ("blue")
|
||||
red = 53
|
||||
red = 102
|
||||
green = 51
|
||||
blue = 64
|
||||
blue = 0
|
||||
if ("chestnut")
|
||||
red = 153
|
||||
green = 102
|
||||
blue = 0
|
||||
if ("blue")
|
||||
red = 51
|
||||
green = 102
|
||||
blue = 204
|
||||
if ("lightblue")
|
||||
red = 94
|
||||
green = 101
|
||||
blue = 115
|
||||
red = 102
|
||||
green = 204
|
||||
blue = 255
|
||||
if ("green")
|
||||
red = 115
|
||||
green = 114
|
||||
blue = 84
|
||||
red = 0
|
||||
green = 102
|
||||
blue = 0
|
||||
if ("albino")
|
||||
red = rand (100, 255)
|
||||
green = rand (0, 70)
|
||||
blue = rand (0, 70)
|
||||
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 (-10, 10), 255), 0)
|
||||
green = max(min(green + rand (-10, 10), 255), 0)
|
||||
blue = max(min(blue + rand (-10, 10), 255), 0)
|
||||
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
|
||||
@@ -303,8 +322,9 @@ datum/preferences
|
||||
else
|
||||
dat += "\t<a href=\"byond://?src=\ref[user];preferences=1;occ=1\">No Preference</a><br>"
|
||||
|
||||
dat += "<hr><table><tr><td><b>Body</b>"
|
||||
dat += " (<a href=\"byond://?src=\ref[user];preferences=1;s_tone=random;underwear=random;age=random;b_type=random;hair=random;h_style=random;facial=random;f_style=random;eyes=random\">®</A>)<br>" // Random look
|
||||
dat += "<hr><table><tr><td><b>Body</b> "
|
||||
dat += "(<a href=\"byond://?src=\ref[user];preferences=1;s_tone=random;underwear=random;age=random;b_type=random;hair=random;h_style=random;facial=random;f_style=random;eyes=random\">®</A>)" // Random look
|
||||
dat += "<br>"
|
||||
dat += "Blood Type: <a href='byond://?src=\ref[user];preferences=1;b_type=input'>[src.b_type]</a><br>"
|
||||
dat += "Skin Tone: <a href='byond://?src=\ref[user];preferences=1;s_tone=input'>[-src.s_tone + 35]/220<br></a>"
|
||||
|
||||
@@ -517,7 +537,7 @@ datum/preferences
|
||||
if (new_b_type)
|
||||
src.b_type = new_b_type
|
||||
if ("random")
|
||||
src.b_type = pick ("A+", "A-", "B+", "B-", "AB+", "AB-", "O+", "O-")
|
||||
src.b_type = pickweight ( list ("A+" = 31, "A-" = 7, "B+" = 8, "B-" = 2, "AB+" = 2, "AB-" = 1, "O+" = 40, "O-" = 9))
|
||||
|
||||
|
||||
if (link_tags["hair"])
|
||||
@@ -614,7 +634,7 @@ datum/preferences
|
||||
if (link_tags["s_tone"])
|
||||
switch(link_tags["s_tone"])
|
||||
if ("random")
|
||||
src.s_tone = (-(rand (1, 220))) -35
|
||||
randomize_skin_tone()
|
||||
if("input")
|
||||
var/new_tone = input(user, "Please select skin tone level: 1-220 (1=albino, 35=caucasian, 150=black, 220='very' black)", "Character Generation") as text
|
||||
if (new_tone)
|
||||
@@ -639,10 +659,10 @@ datum/preferences
|
||||
if (link_tags["f_style"])
|
||||
switch(link_tags["f_style"])
|
||||
if ("random")
|
||||
if (src.gender == FEMALE && !prob (1))
|
||||
src.f_style = "Shaved"
|
||||
if (src.gender == FEMALE)
|
||||
src.f_style = pickweight ( list("Watson" = 1, "Chaplin" = 1, "Selleck" = 1, "Full Beard" = 1, "Long Beard" = 1, "Neckbeard" = 1, "Van Dyke" = 1, "Elvis" = 1, "Abe" = 1, "Chinstrap" = 1, "Hipster" = 1, "Goatee" = 1, "Hogan" = 1, "Shaved" = 100))
|
||||
else
|
||||
src.f_style = pick ("Watson", "Chaplin", "Selleck", "Full Beard", "Long Beard", "Neckbeard", "Van Dyke", "Elvis", "Abe", "Chinstrap", "Hipster", "Goatee", "Hogan")
|
||||
src.f_style = pickweight ( list("Watson" = 1, "Chaplin" = 1, "Selleck" = 1, "Full Beard" = 1, "Long Beard" = 1, "Neckbeard" = 1, "Van Dyke" = 1, "Elvis" = 1, "Abe" = 1, "Chinstrap" = 1, "Hipster" = 1, "Goatee" = 1, "Hogan" = 1, "Shaved" = 10))
|
||||
if("input")
|
||||
var/new_style = input(user, "Please select facial style", "Character Generation") as null|anything in list("Watson", "Chaplin", "Selleck", "Full Beard", "Long Beard", "Neckbeard", "Van Dyke", "Elvis", "Abe", "Chinstrap", "Hipster", "Goatee", "Hogan", "Shaved")
|
||||
if (new_style)
|
||||
@@ -670,7 +690,7 @@ datum/preferences
|
||||
if(!IsGuestKey(user.key))
|
||||
switch(link_tags["underwear"])
|
||||
if ("random")
|
||||
if (prob (65))
|
||||
if (prob (75))
|
||||
src.underwear = 1
|
||||
else
|
||||
src.underwear = 0
|
||||
|
||||
@@ -19,8 +19,8 @@
|
||||
//Amount of air needed before pass out/suffocation commences
|
||||
|
||||
// Factor of how fast mob nutrition decreases
|
||||
#define HUNGER_FACTOR 0.07
|
||||
|
||||
#define HUNGER_FACTOR 0.1
|
||||
#define REAGENTS_METABOLISM 0.4
|
||||
|
||||
#define MINIMUM_AIR_RATIO_TO_SUSPEND 0.05
|
||||
//Minimum ratio of air that must move to/from a tile to suspend group processing
|
||||
|
||||
Reference in New Issue
Block a user