Merge pull request #623 from CIB/master

Look, there's a lot of stuff in here now, just read the commits
This commit is contained in:
SkyMarshal
2012-03-07 13:26:37 -08:00
5 changed files with 107 additions and 25 deletions
+93 -11
View File
@@ -371,7 +371,7 @@ datum
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M:adjustToxLoss(1.5)
M:adjustToxLoss(0.3)
..()
return
@@ -412,6 +412,7 @@ datum
// if(50 to INFINITY)
// M:adjustToxLoss(0.1)
data++
holder.remove_reagent(src.id, 0.1)
..()
return
@@ -611,7 +612,7 @@ datum
if(M.canmove && istype(M.loc, /turf/space))
step(M, pick(cardinal))
if(prob(5)) M:emote(pick("twitch","drool","moan"))
M:adjustToxLoss(1)
M:adjustToxLoss(0.2)
..()
return
@@ -643,7 +644,8 @@ datum
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M.take_organ_damage(1, 0)
if(prob(50))
M.take_organ_damage(1, 0)
..()
return
@@ -656,7 +658,7 @@ datum
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M:adjustToxLoss(1)
M:adjustToxLoss(0.3)
..()
return
@@ -711,7 +713,8 @@ datum
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M:adjustToxLoss(1)
M.take_organ_damage(0, 1)
if(prob(50))
M.take_organ_damage(0, 1)
..()
return
reaction_mob(var/mob/living/M, var/method=TOUCH, var/volume)
@@ -765,7 +768,7 @@ datum
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M:adjustToxLoss(1)
M:adjustToxLoss(0.2)
M.take_organ_damage(0, 1)
..()
return
@@ -1218,7 +1221,7 @@ datum
if(M.stat == 2.0)
return
if(!M) M = holder.my_atom
if(prob(33))
if(prob(30))
M.take_organ_damage(1, 0)
M:adjustOxyLoss(3)
if(prob(20)) M:emote("gasp")
@@ -1238,7 +1241,9 @@ datum
if(!M) M = holder.my_atom
if(!data) data = 1
data++
M:heal_organ_damage(0,2)
M:heal_organ_damage(0,1)
if(volume > REAGENTS_OVERDOSE)
M:adjustToxLoss(1)
if(data >= 125)
M:adjustToxLoss(0.1)
..()
@@ -1258,6 +1263,8 @@ datum
if(!data) data = 1
data++
M:heal_organ_damage(0,3)
if(volume > REAGENTS_OVERDOSE)
M:adjustToxLoss(1)
if(data >= 125)
M:adjustToxLoss(0.2)
..()
@@ -1279,6 +1286,8 @@ datum
M:adjustOxyLoss(-2)
if(holder.has_reagent("lexorin"))
holder.remove_reagent("lexorin", 2)
if(volume > REAGENTS_OVERDOSE)
M:adjustToxLoss(1)
if(data >= 125)
M:adjustToxLoss(0.2)
..()
@@ -1300,6 +1309,8 @@ datum
M:oxyloss = 0
if(holder.has_reagent("lexorin"))
holder.remove_reagent("lexorin", 2)
if(volume > REAGENTS_OVERDOSE)
M:adjustToxLoss(1)
if(data >= 50)
M:adjustToxLoss(0.2)
..()
@@ -1320,6 +1331,8 @@ datum
if(M:getBruteLoss() && prob(40)) M:heal_organ_damage(1,0)
if(M:getFireLoss() && prob(40)) M:heal_organ_damage(0,1)
if(M:getToxLoss() && prob(40)) M:adjustToxLoss(-1)
if(volume > REAGENTS_OVERDOSE)
M:adjustToxLoss(1)
..()
return
@@ -1398,6 +1411,8 @@ datum
M.AdjustStunned(-1)
M.AdjustWeakened(-1)
if(prob(60)) M.adjustToxLoss(1)
if(volume > REAGENTS_OVERDOSE)
M:adjustToxLoss(1)
..()
return
@@ -1430,6 +1445,8 @@ datum
if(prob(80)) M:adjustBrainLoss(1)
if(prob(50)) M:drowsyness = max(M:drowsyness, 3)
if(prob(10)) M:emote("drool")
if(volume > REAGENTS_OVERDOSE)
M:adjustToxLoss(1)
if(data >= 50)
M:adjustToxLoss(0.4)
..()
@@ -1445,6 +1462,8 @@ datum
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M:radiation = max(M:radiation-3,0)
if(volume > REAGENTS_OVERDOSE)
M:adjustToxLoss(1)
if(data >= 50)
M:adjustToxLoss(0.2)
..()
@@ -1468,6 +1487,8 @@ datum
if(prob(15))
M.take_organ_damage(1, 0)
..()
if(volume > REAGENTS_OVERDOSE)
M:adjustToxLoss(1)
if(data >= 50)
M:adjustToxLoss(0.3)
return
@@ -1483,6 +1504,8 @@ datum
if(!M) M = holder.my_atom
M:adjustBrainLoss(-3)
M:adjustToxLoss(0.1)
if(volume > REAGENTS_OVERDOSE)
M:adjustToxLoss(1)
..()
return
@@ -1500,6 +1523,8 @@ datum
M:eye_blurry = max(M:eye_blurry-5 , 0)
M:eye_blind = max(M:eye_blind-5 , 0)
M:disabilities &= ~1
if(volume > REAGENTS_OVERDOSE)
M:adjustToxLoss(1)
if(data >= 100)
M:adjustToxLoss(0.2)
..()
@@ -1519,6 +1544,8 @@ datum
if(!data) data = 1
data++
M:heal_organ_damage(2,0)
if(volume > REAGENTS_OVERDOSE)
M:adjustToxLoss(1)
if(data >= 125)
M:adjustToxLoss(0.2)
..()
@@ -1537,6 +1564,8 @@ datum
data++
if(prob(5)) M:emote(pick("twitch","blink_r","shiver"))
holder.remove_reagent(src.id, 0.2)
if(volume > REAGENTS_OVERDOSE)
M:adjustToxLoss(1)
if(data >= 50)
M:adjustToxLoss(0.2)
..()
@@ -1589,6 +1618,8 @@ datum
if(!data) data = 1
data++
holder.remove_reagent(src.id, 0.1)
if(volume > REAGENTS_OVERDOSE)
M:adjustToxLoss(1)
if(data >= 100)
M:adjustToxLoss(0.1)
return
@@ -1602,7 +1633,7 @@ datum
on_mob_life(var/mob/living/M as mob)
if(!M) M = holder.my_atom
M:adjustToxLoss(2)
M:adjustToxLoss(1)
..()
return
@@ -1782,7 +1813,7 @@ datum
M:sleeping += 1
if(51 to INFINITY)
M:sleeping += 1
M:adjustToxLoss(data - 50)
M:adjustToxLoss(2)
..()
return
@@ -1804,7 +1835,7 @@ datum
M:sleeping += 1
if(51 to INFINITY)
M:sleeping += 1
M:adjustToxLoss(data - 50)
M:adjustToxLoss(2)
data++
..()
return
@@ -2605,6 +2636,8 @@ datum
if (!M:confused) M:confused = 1
M:confused += 2
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -2624,6 +2657,7 @@ datum
M.slurring += 3
else if(data >= 125 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -2643,6 +2677,7 @@ datum
M.slurring += 3
else if(data >= 125 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -2663,6 +2698,7 @@ datum
M.slurring += 3
else if(data >= 125 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -2682,6 +2718,7 @@ datum
M.slurring += 3
else if(data >= 125 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -2701,6 +2738,7 @@ datum
M.slurring += 3
else if(data >= 125 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -2743,6 +2781,7 @@ datum
M.slurring += 3
else if(data >= 125 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -2762,6 +2801,7 @@ datum
M.slurring += 3
else if(data >= 125 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -2781,6 +2821,7 @@ datum
M.slurring += 3
else if(data >= 145 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -2834,6 +2875,7 @@ datum
M.slurring += 3
else if(data >= 115 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -2853,6 +2895,7 @@ datum
M.slurring += 5
else if(data >= 90 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -2872,6 +2915,7 @@ datum
M.slurring += 3
else if(data >= 125 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -2927,6 +2971,7 @@ datum
if(data >= 40 && prob(33))
if (!M:confused) M:confused = 1
M:confused += 2
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -2948,6 +2993,7 @@ datum
switch(data)
if(51 to INFINITY)
M:sleeping += 1
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -2968,6 +3014,7 @@ datum
M.slurring += 3
else if(data >= 90)
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -2987,6 +3034,7 @@ datum
M.slurring += 3
else if(data >= 125 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3006,6 +3054,7 @@ datum
M.slurring += 3
else if(data >= 125 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3025,6 +3074,7 @@ datum
M.slurring += 3
else if(data >= 135 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3044,6 +3094,7 @@ datum
M.slurring += 3
else if(data >= 135 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3063,6 +3114,7 @@ datum
M.slurring += 3
else if(data >= 125 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3082,6 +3134,7 @@ datum
M.slurring += 3
else if(data >= 135 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3101,6 +3154,7 @@ datum
M.slurring += 3
else if(data >= 135 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3120,6 +3174,7 @@ datum
M.slurring += 3
else if(data >= 165 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3139,6 +3194,7 @@ datum
M.slurring += 3
else if(data >= 165 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3158,6 +3214,7 @@ datum
M.slurring += 4
else if(data >= 165 && prob(33))
M.confused = max(M:confused+4,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3177,6 +3234,7 @@ datum
M.slurring += 3
else if(data >= 165 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3198,6 +3256,7 @@ datum
M.confused = max(M:confused+3,0)
else if(data >=55)
M.druggy = max(M.druggy, 55)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3217,6 +3276,7 @@ datum
M.slurring += 3
else if(data >= 145 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3236,6 +3296,7 @@ datum
M.slurring += 3
else if(data >= 165 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3257,6 +3318,7 @@ datum
M.slurring += 3
else if(data >= 165 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3277,6 +3339,7 @@ datum
M.slurring += 3
else if(data >= 165 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3314,6 +3377,7 @@ datum
M.slurring += 3
else if(data >= 145 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3333,6 +3397,7 @@ datum
M.slurring += 3
else if(data >= 115 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3352,6 +3417,7 @@ datum
M.slurring += 3
else if(data >= 165 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3371,6 +3437,7 @@ datum
M.slurring += 4
else if(data >= 60 && prob(40))
M.confused = max(M:confused+5,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3390,6 +3457,7 @@ datum
M.slurring += 4
else if(data >= 90 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3409,6 +3477,7 @@ datum
M.slurring += 3
else if(data >= 150 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3428,6 +3497,7 @@ datum
M.slurring += 3
else if(data >= 150 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3447,6 +3517,7 @@ datum
M.slurring += 3
else if(data >= 115 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3466,6 +3537,7 @@ datum
M.slurring += 3
else if(data >= 115 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3486,6 +3558,7 @@ datum
M.slurring += 3
else if(data >= 115 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3505,6 +3578,7 @@ datum
M.slurring += 3
else if(data >= 115 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3524,6 +3598,7 @@ datum
M.slurring += 5
else if(data >= 115 && prob(33))
M.confused = max(M:confused+5,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3543,6 +3618,7 @@ datum
M.slurring += 5
else if(data >= 115 && prob(33))
M.confused = max(M:confused+5,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3562,6 +3638,7 @@ datum
M.slurring += 4
else if(data >= 115 && prob(30))
M.confused = max(M:confused+4,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3581,6 +3658,7 @@ datum
M.slurring += 10
else if(data >= 115 && prob(90))
M.confused = max(M:confused+10,10)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3600,6 +3678,7 @@ datum
M.slurring += 3
else if(data >= 115 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3619,6 +3698,7 @@ datum
M.slurring += 3
else if(data >= 125 && prob(33))
M.confused = max(M:confused+2,0)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3640,6 +3720,7 @@ datum
M.confused = max(M:confused+2,0)
if (M.bodytemperature > 310)
M.bodytemperature = max(310, M.bodytemperature-5)
holder.remove_reagent(src.id, 0.2)
..()
return
@@ -3659,6 +3740,7 @@ datum
M.slurring += 15
else if(data >= 115 && prob(33))
M.confused = max(M:confused+15,15)
holder.remove_reagent(src.id, 0.2)
..()
return
+8 -4
View File
@@ -960,7 +960,7 @@
user << "\red There is already a blood sample in this syringe"
return
if(istype(target, /mob/living/carbon))//maybe just add a blood reagent to all mobs. Then you can suck them dry...With hundreds of syringes. Jolly good idea.
var/amount = max(src.reagents.maximum_volume - src.reagents.total_volume - 2, 0)
var/amount = src.reagents.maximum_volume - src.reagents.total_volume
var/mob/living/carbon/T = target
var/datum/reagent/B = new /datum/reagent/blood
if(!T.dna)
@@ -1007,9 +1007,6 @@
// world << "Data [D] = [B.data[D]]"
//debug
// also transfer some of the reagents other than blood
T.reagents.trans_to(src, 2)
src.reagents.reagent_list += B
src.reagents.update_total()
src.on_reagent_change()
@@ -2970,6 +2967,13 @@
if(src)
del(src)
/obj/structure/reagent_dispensers/fueltank/temperature_expose(datum/gas_mixture/air, temperature, volume)
if(temperature > T0C+500)
explosion(src.loc,-1,0,2)
if(src)
del(src)
return ..()
/obj/structure/reagent_dispensers/water_cooler
name = "Water-Cooler"
desc = "A machine that dispenses water to drink"
+1 -1
View File
@@ -188,7 +188,7 @@ datum/preferences
var/level = skills[S.ID]
HTML += "<tr style='text-align:left;'>"
HTML += "<th><a href='byond://?src=\ref[user];preferences=1;skills=1;skillinfo=\ref[S]'>[S.name]</a></th>"
HTML += "<th><a href='byond://?src=\ref[user];preferences=1;skills=1;setskill=\ref[S];newvalue=[SKILL_NONE]'><font color=[(level == SKILL_NONE) ? "red" : "black"]>\[None\]</font></a></th>"
HTML += "<th><a href='byond://?src=\ref[user];preferences=1;skills=1;setskill=\ref[S];newvalue=[SKILL_NONE]'><font color=[(level == SKILL_NONE) ? "red" : "black"]>\[Layman\]</font></a></th>"
HTML += "<th><a href='byond://?src=\ref[user];preferences=1;skills=1;setskill=\ref[S];newvalue=[SKILL_BASIC]'><font color=[(level == SKILL_BASIC) ? "red" : "black"]>\[Basic\]</font></a></th>"
HTML += "<th><a href='byond://?src=\ref[user];preferences=1;skills=1;setskill=\ref[S];newvalue=[SKILL_ADEPT]'><font color=[(level == SKILL_ADEPT) ? "red" : "black"]>\[Adept\]</font></a></th>"
HTML += "<th><a href='byond://?src=\ref[user];preferences=1;skills=1;setskill=\ref[S];newvalue=[SKILL_EXPERT]'><font color=[(level == SKILL_EXPERT) ? "red" : "black"]>\[Expert\]</font></a></th>"
+3 -8
View File
@@ -22,11 +22,6 @@ datum/skill/management
name = "Command"
desc = "Your ability to manage and commandeer other crew members."
datum/skill/knowledge/law
ID = "law"
name = "NanoTrasen Law"
desc = "Your knowledge of NanoTrasen law and procedures. This includes space law, as well as general station rulings and procedures. A low level in this skill is typical for security officers, a high level in this skill is typical for captains."
datum/skill/combat
ID = "combat"
name = "Close Combat"
@@ -101,13 +96,13 @@ datum/skill/computer
datum/skill/pilot
ID = "pilot"
name = "Heavy Machinery Operation"
desc = "Describes your experience and understanding of operating heavy machinery, which includes mechs and other large exosuits. Used in piloting mechs and creating them"
desc = "Describes your experience and understanding of operating heavy machinery, which includes mechs and other large exosuits. Used in piloting mechs."
field = "Engineering"
datum/skill/medical
ID = "medical"
name = "Medicine"
desc = "Covers an understanding of the human body and medicine. At a low level, this skill is vital to perform basic first aid, such as CPR or applying bandages. At a high level, this skill implies a good understanding of the various medicines that can be found on a space station."
desc = "Covers an understanding of the human body and medicine. At a low level, this skill gives a basic understanding of applying common types of medicine, and a rough understanding of medical devices like the health analyzer. At a high level, this skill grants exact knowledge of all the medicine available on the station, as well as the ability to use complex medical devices like the body scanner or mass spectrometer."
field = "Medical"
datum/skill/anatomy
@@ -211,7 +206,7 @@ proc/show_skill_window(var/mob/user, var/mob/living/carbon/human/M)
var/level = M.skills[S.ID]
HTML += "<tr style='text-align:left;'>"
HTML += "<th>[S.name]</th>"
HTML += "<th><font color=[(level == SKILL_NONE) ? "red" : "black"]>\[None\]</font></th>"
HTML += "<th><font color=[(level == SKILL_NONE) ? "red" : "black"]>\[Layman\]</font></th>"
HTML += "<th><font color=[(level == SKILL_BASIC) ? "red" : "black"]>\[Basic\]</font></th>"
HTML += "<th><font color=[(level == SKILL_ADEPT) ? "red" : "black"]>\[Adept\]</font></th>"
HTML += "<th><font color=[(level == SKILL_EXPERT) ? "red" : "black"]>\[Expert\]</font></th>"