Merge pull request #1162 from CIB/master

Added crew transfer shuttle to the restart vote, disease fix
This commit is contained in:
Albert Iordache
2012-05-25 22:46:39 -07:00
8 changed files with 259 additions and 148 deletions

View File

@@ -47,10 +47,6 @@ proc/airborne_can_reach(turf/source, turf/target)
return return
if(!disease) if(!disease)
return return
//immunity
/*for(var/iii = 1, iii <= M.immunevirus2.len, iii++)
if(disease.issame(M.immunevirus2[iii]))
return*/
// if one of the antibodies in the mob's body matches one of the disease's antigens, don't infect // if one of the antibodies in the mob's body matches one of the disease's antigens, don't infect
if(M.antibodies & disease.antigen != 0) return if(M.antibodies & disease.antigen != 0) return
@@ -266,7 +262,6 @@ proc/airborne_can_reach(turf/source, turf/target)
proc/getcopy() proc/getcopy()
// world << "getting copy"
var/datum/disease2/disease/disease = new /datum/disease2/disease var/datum/disease2/disease/disease = new /datum/disease2/disease
disease.infectionchance = infectionchance disease.infectionchance = infectionchance
disease.spreadtype = spreadtype disease.spreadtype = spreadtype
@@ -274,7 +269,6 @@ proc/airborne_can_reach(turf/source, turf/target)
disease.antigen = antigen disease.antigen = antigen
disease.uniqueID = uniqueID disease.uniqueID = uniqueID
for(var/datum/disease2/effectholder/holder in effects) for(var/datum/disease2/effectholder/holder in effects)
// world << "adding effects"
var/datum/disease2/effectholder/newholder = new /datum/disease2/effectholder var/datum/disease2/effectholder/newholder = new /datum/disease2/effectholder
newholder.effect = new holder.effect.type newholder.effect = new holder.effect.type
newholder.chance = holder.chance newholder.chance = holder.chance
@@ -283,8 +277,6 @@ proc/airborne_can_reach(turf/source, turf/target)
newholder.happensonce = holder.happensonce newholder.happensonce = holder.happensonce
newholder.stage = holder.stage newholder.stage = holder.stage
disease.effects += newholder disease.effects += newholder
// world << "[newholder.effect.name]"
// world << "[disease]"
return disease return disease
proc/spread_airborne(var/mob/living/carbon/mob) proc/spread_airborne(var/mob/living/carbon/mob)
@@ -298,9 +290,17 @@ proc/airborne_can_reach(turf/source, turf/target)
var/name = "Blanking effect" var/name = "Blanking effect"
var/stage = 4 var/stage = 4
var/maxm = 1 var/maxm = 1
var/happensalways = 0
proc/activate(var/mob/living/carbon/mob,var/multiplier) proc/activate(var/mob/living/carbon/mob,var/multiplier)
proc/deactivate(var/mob/living/carbon/mob) proc/deactivate(var/mob/living/carbon/mob)
// ================================
// ======= DISEASE SYMPTOMS =======
// ================================
// Special diseases
// --------------------------------
/datum/disease2/effect/alien /datum/disease2/effect/alien
name = "Unidentified Foreign Body" name = "Unidentified Foreign Body"
stage = 4 stage = 4
@@ -317,11 +317,68 @@ proc/airborne_can_reach(turf/source, turf/target)
mob:gib() mob:gib()
del D del D
/datum/disease2/effect/greater/gibbingtons // Greater Diseases, Stage 1
name = "Gibbingtons Syndrome" // --------------------------------
stage = 4
/datum/disease2/effect/greater/gunck
name = "Flemmingtons"
stage = 1
activate(var/mob/living/carbon/mob,var/multiplier) activate(var/mob/living/carbon/mob,var/multiplier)
mob.gib() mob << "\red Mucous runs down the back of your throat."
// Greater Diseases, Stage 2
// --------------------------------
/datum/disease2/effect/greater/cough
name = "Anima Syndrome"
stage = 2
activate(var/mob/living/carbon/mob,var/multiplier)
mob.say("*cough")
if(mob.virus2) mob.virus2.spread_airborne(mob)
if(mob.virus2) mob.virus2.spread_airborne(mob)
if(prob(2))
var/obj/effect/decal/cleanable/mucus/this = new(mob.loc)
this.virus2 = mob.virus2
/datum/disease2/effect/greater/vomit
name = "Bad Stomach Syndrome"
stage = 2
activate(var/mob/living/carbon/mob,var/multiplier)
if(prob(20) && mob.nutrition > 200)
mob.vomit()
/datum/disease2/effect/greater/sneeze
name = "Coldingtons Effect"
stage = 2
activate(var/mob/living/carbon/mob,var/multiplier)
mob.say("*sneeze")
if(mob.virus2) mob.virus2.spread_airborne(mob)
if(mob.virus2) mob.virus2.spread_airborne(mob)
if(prob(5))
var/obj/effect/decal/cleanable/mucus/this = new(mob.loc)
this.anchored = 0
step(this, mob.dir)
this.anchored = 1
this.virus2 = mob.virus2
// Greater Diseases, Stage 3
// --------------------------------
/datum/disease2/effect/greater/sleepy
name = "Resting syndrome"
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
mob.say("*collapse")
/datum/disease2/effect/greater/mind
name = "Lazy mind syndrome"
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
mob.setBrainLoss(50)
/datum/disease2/effect/greater/hallucinations /datum/disease2/effect/greater/hallucinations
name = "Hallucinational Syndrome" name = "Hallucinational Syndrome"
@@ -329,12 +386,6 @@ proc/airborne_can_reach(turf/source, turf/target)
activate(var/mob/living/carbon/mob,var/multiplier) activate(var/mob/living/carbon/mob,var/multiplier)
mob.hallucination += 25 mob.hallucination += 25
/datum/disease2/effect/greater/radian
name = "Radian's syndrome"
stage = 4
maxm = 2
activate(var/mob/living/carbon/mob,var/multiplier)
mob.radiation += (20*multiplier)
/datum/disease2/effect/greater/toxins /datum/disease2/effect/greater/toxins
name = "Hyperacid Syndrome" name = "Hyperacid Syndrome"
@@ -356,6 +407,38 @@ proc/airborne_can_reach(turf/source, turf/target)
activate(var/mob/living/carbon/mob,var/multiplier) activate(var/mob/living/carbon/mob,var/multiplier)
shake_camera(mob,5*multiplier) shake_camera(mob,5*multiplier)
/datum/disease2/effect/greater/telepathic
name = "Telepathy Syndrome"
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
mob.mutations |= 512
// Greater Diseases, Stage 4
// --------------------------------
/datum/disease2/effect/greater/gibbingtons
name = "Gibbingtons Syndrome"
stage = 4
activate(var/mob/living/carbon/mob,var/multiplier)
mob.gib()
/datum/disease2/effect/greater/blood_fountain
name = "Blood Fountain Syndrome"
stage = 4
activate(var/mob/living/carbon/mob,var/multiplier)
if(prob(20))
mob.visible_message("\red You see a fountain of blood erupt from [mob.name].","\red <b>Something wet is leaking from you.</b>","You hear a loud splash.")
mob.drip(50)
/datum/disease2/effect/greater/radian
name = "Radian's syndrome"
stage = 4
maxm = 2
activate(var/mob/living/carbon/mob,var/multiplier)
mob.radiation += (20*multiplier)
/datum/disease2/effect/greater/fever /datum/disease2/effect/greater/fever
name = "Fever syndrome" name = "Fever syndrome"
stage = 4 stage = 4
@@ -363,6 +446,7 @@ proc/airborne_can_reach(turf/source, turf/target)
activate(var/mob/living/carbon/mob,var/multiplier) activate(var/mob/living/carbon/mob,var/multiplier)
mob.adjustFireLoss(10 * multiplier) mob.adjustFireLoss(10 * multiplier)
/datum/disease2/effect/greater/weak_bones /datum/disease2/effect/greater/weak_bones
name = "Bone Density Syndrome" name = "Bone Density Syndrome"
stage = 4 stage = 4
@@ -371,7 +455,7 @@ proc/airborne_can_reach(turf/source, turf/target)
var/name = pick(mob.organs) var/name = pick(mob.organs)
var/datum/organ/external/organ = mob.organs[name] var/datum/organ/external/organ = mob.organs[name]
if(!organ.broken) if(!organ.broken && !organ.robot)
mob.adjustBruteLoss(10) mob.adjustBruteLoss(10)
mob.visible_message("\red You hear a loud cracking sound coming from [mob.name].","\red <b>Something feels like it shattered in your [organ.display_name]!</b>","You hear a sickening crack.") mob.visible_message("\red You hear a loud cracking sound coming from [mob.name].","\red <b>Something feels like it shattered in your [organ.display_name]!</b>","You hear a sickening crack.")
mob.emote("scream") mob.emote("scream")
@@ -379,17 +463,6 @@ proc/airborne_can_reach(turf/source, turf/target)
organ.wound = pick("broken","fracture","hairline fracture") //Randomise in future. Edit: Randomized. --SkyMarshal organ.wound = pick("broken","fracture","hairline fracture") //Randomise in future. Edit: Randomized. --SkyMarshal
organ.perma_injury = 10 organ.perma_injury = 10
/datum/disease2/effect/invisible
name = "Waiting Syndrome"
stage = 1
activate(var/mob/living/carbon/mob,var/multiplier)
return
/datum/disease2/effect/greater/telepathic
name = "Telepathy Syndrome"
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
mob.mutations |= 512
/datum/disease2/effect/greater/monkey /datum/disease2/effect/greater/monkey
name = "Monkism syndrome" name = "Monkism syndrome"
@@ -399,37 +472,6 @@ proc/airborne_can_reach(turf/source, turf/target)
var/mob/living/carbon/human/h = mob var/mob/living/carbon/human/h = mob
h.monkeyize() h.monkeyize()
/datum/disease2/effect/greater/sneeze
name = "Coldingtons Effect"
stage = 2
activate(var/mob/living/carbon/mob,var/multiplier)
mob.say("*sneeze")
if(mob.virus2) mob.virus2.spread_airborne(mob)
if(mob.virus2) mob.virus2.spread_airborne(mob)
if(prob(5))
var/obj/effect/decal/cleanable/mucus/this = new(mob.loc)
this.anchored = 0
step(this, mob.dir)
this.anchored = 1
this.virus2 = mob.virus2
/datum/disease2/effect/greater/cough
name = "Anima Syndrome"
stage = 2
activate(var/mob/living/carbon/mob,var/multiplier)
mob.say("*cough")
if(mob.virus2) mob.virus2.spread_airborne(mob)
if(mob.virus2) mob.virus2.spread_airborne(mob)
if(prob(2))
var/obj/effect/decal/cleanable/mucus/this = new(mob.loc)
this.virus2 = mob.virus2
/datum/disease2/effect/greater/gunck
name = "Flemmingtons"
stage = 1
activate(var/mob/living/carbon/mob,var/multiplier)
mob << "\red Mucous runs down the back of your throat."
/datum/disease2/effect/greater/killertoxins /datum/disease2/effect/greater/killertoxins
name = "Toxification syndrome" name = "Toxification syndrome"
@@ -437,36 +479,9 @@ proc/airborne_can_reach(turf/source, turf/target)
activate(var/mob/living/carbon/mob,var/multiplier) activate(var/mob/living/carbon/mob,var/multiplier)
mob.adjustToxLoss(15) mob.adjustToxLoss(15)
/datum/disease2/effect/greater/sleepy
name = "Resting syndrome"
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
mob.say("*collapse")
/datum/disease2/effect/greater/mind // Lesser Diseases, Stage 1
name = "Lazy mind syndrome" // --------------------------------
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
mob.setBrainLoss(50)
// lesser syndromes, partly just copypastes
/datum/disease2/effect/lesser/hallucinations
name = "Hallucinational Syndrome"
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
mob.hallucination += 5
/datum/disease2/effect/lesser/mind
name = "Lazy mind syndrome"
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
mob.setBrainLoss(20)
/datum/disease2/effect/lesser/deaf
name = "Hard of hearing syndrome"
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
mob.ear_deaf = 5
/datum/disease2/effect/lesser/gunck /datum/disease2/effect/lesser/gunck
name = "Flemmingtons" name = "Flemmingtons"
@@ -474,13 +489,30 @@ proc/airborne_can_reach(turf/source, turf/target)
activate(var/mob/living/carbon/mob,var/multiplier) activate(var/mob/living/carbon/mob,var/multiplier)
mob << "\red Mucous runs down the back of your throat." mob << "\red Mucous runs down the back of your throat."
/datum/disease2/effect/lesser/radian /datum/disease2/effect/lesser/fridge
name = "Radian's syndrome" name = "Refridgerator Syndrome"
stage = 4 stage = 1
maxm = 3
activate(var/mob/living/carbon/mob,var/multiplier) activate(var/mob/living/carbon/mob,var/multiplier)
mob.radiation += 1 if(prob(10)) mob << "\blue You feel extremely cold."
/datum/disease2/effect/lesser/pale
name = "Ghost Effect"
stage = 1
activate(var/mob/living/carbon/mob,var/multiplier)
mob << "\blue If you had a mirror, your reflection would probably look very pale.."
/datum/disease2/effect/lesser/hoarse
name = "Hoarse Throat"
stage = 1
happensalways = 1 // the mob will have a permanently sore throat
activate(var/mob/living/carbon/mob,var/multiplier)
mob.disease_symptoms |= DISEASE_HOARSE
if(prob(3)) mob << "\blue Your throat feels very sore.."
// Lesser Diseases, Stage 2
// --------------------------------
/datum/disease2/effect/lesser/sneeze /datum/disease2/effect/lesser/sneeze
name = "Coldingtons Effect" name = "Coldingtons Effect"
stage = 2 stage = 2
@@ -506,19 +538,49 @@ proc/airborne_can_reach(turf/source, turf/target)
var/obj/effect/decal/cleanable/mucus/this = new(mob.loc) var/obj/effect/decal/cleanable/mucus/this = new(mob.loc)
this.virus2 = mob.virus2 this.virus2 = mob.virus2
/*/datum/disease2/effect/lesser/arm
name = "Disarming Syndrome" /datum/disease2/effect/lesser/nosebleed
stage = 4 name = "Nosebleed Effect"
stage = 2
activate(var/mob/living/carbon/mob,var/multiplier) activate(var/mob/living/carbon/mob,var/multiplier)
var/datum/organ/external/org = mob.organs["r_arm"] if(prob(30))
org.take_damage(3,0,0,0) mob.drip(1)
mob << "\red You feel a sting in your right arm."*/
// Lesser Diseases, Stage 3
// --------------------------------
/datum/disease2/effect/lesser/vomit
name = "Bad Stomach Syndrome"
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
if(prob(5) && mob.nutrition > 200)
mob.vomit()
// lesser syndromes, partly just copypastes
/datum/disease2/effect/lesser/hallucinations
name = "Hallucinational Syndrome"
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
mob.hallucination += 5
/datum/disease2/effect/lesser/mind
name = "Lazy mind syndrome"
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
mob.setBrainLoss(20)
/datum/disease2/effect/lesser/deaf
name = "Hard of hearing syndrome"
stage = 3
activate(var/mob/living/carbon/mob,var/multiplier)
mob.ear_deaf = 5
/datum/disease2/effect/lesser/hungry /datum/disease2/effect/lesser/hungry
name = "Appetiser Effect" name = "Appetiser Effect"
stage = 3 stage = 2
activate(var/mob/living/carbon/mob,var/multiplier) activate(var/mob/living/carbon/mob,var/multiplier)
mob.nutrition = max(0, mob.nutrition - 3) mob.nutrition = max(0, mob.nutrition - 1)
/datum/disease2/effect/lesser/groan /datum/disease2/effect/lesser/groan
name = "Groaning Syndrome" name = "Groaning Syndrome"
@@ -526,24 +588,12 @@ proc/airborne_can_reach(turf/source, turf/target)
activate(var/mob/living/carbon/mob,var/multiplier) activate(var/mob/living/carbon/mob,var/multiplier)
mob.say("*groan") mob.say("*groan")
/datum/disease2/effect/lesser/fridge
name = "Refridgerator Syndrome"
stage = 1
activate(var/mob/living/carbon/mob,var/multiplier)
mob.say("*shiver")
/datum/disease2/effect/lesser/twitch /datum/disease2/effect/lesser/twitch
name = "Twitcher" name = "Twitcher"
stage = 3 stage = 3
activate(var/mob/living/carbon/mob,var/multiplier) activate(var/mob/living/carbon/mob,var/multiplier)
mob.say("*twitch") if(prob(5)) mob.say("*twitch")
if(prob(20)) mob << "\blue Your muscles feel twitchy.."
/datum/disease2/effect/lesser/pale
name = "Ghost Effect"
stage = 1
activate(var/mob/living/carbon/mob,var/multiplier)
if(prob(10))
mob.emote("me",1,"looks very pale.")
/datum/disease2/effect/lesser/stumble /datum/disease2/effect/lesser/stumble
name = "Poor Balance Syndrome" name = "Poor Balance Syndrome"
@@ -556,11 +606,32 @@ proc/airborne_can_reach(turf/source, turf/target)
step(mob, pick(cardinal)) step(mob, pick(cardinal))
mob.emote("me",1,"stumbles over their own feet.") mob.emote("me",1,"stumbles over their own feet.")
/datum/disease2/effect/lesser/hoarse
name = "Hoarse Throat" // Lesser Diseases, Stage 4
// --------------------------------
/datum/disease2/effect/lesser/radian
name = "Radian's syndrome"
stage = 4
maxm = 3
activate(var/mob/living/carbon/mob,var/multiplier)
mob.radiation += 1
// ============
// END SYMPTOMS
// ============
/datum/disease2/effect/invisible
name = "Waiting Syndrome"
stage = 1 stage = 1
activate(var/mob/living/carbon/mob,var/multiplier) activate(var/mob/living/carbon/mob,var/multiplier)
mob.disease_symptoms |= DISEASE_HOARSE return
var/global/const/DISEASE_HOARSE = 2 var/global/const/DISEASE_HOARSE = 2
var/global/const/DISEASE_WHISPER = 4 var/global/const/DISEASE_WHISPER = 4
@@ -579,7 +650,7 @@ var/global/const/DISEASE_WHISPER = 4
var/stage = 0 var/stage = 0
proc/runeffect(var/mob/living/carbon/human/mob,var/stage) proc/runeffect(var/mob/living/carbon/human/mob,var/stage)
if(happensonce > -1 && effect.stage <= stage && prob(chance)) if(effect.stage <= stage) if(effect.happensalways || (happensonce > -1 && prob(chance)))
effect.activate(mob) effect.activate(mob)
if(happensonce == 1) if(happensonce == 1)
happensonce = -1 happensonce = -1

View File

@@ -393,7 +393,20 @@ client
//All BYOND links pass through client/Topic() FIRST and are then directed to [hsrc]/Topic() by the ..() call at the end. //All BYOND links pass through client/Topic() FIRST and are then directed to [hsrc]/Topic() by the ..() call at the end.
client/Topic(href, href_list, hsrc) client/Topic(href, href_list, hsrc)
file("topic_log") << "[time2text(world.realtime, "DDD MMM DD YYYY")] at [time2text(world.timeofday, "hh:mm:ss")], [ckey], \"[url_encode(href)]\"" file("topic_log") << "[time2text(world.realtime, "DDD MMM DD YYYY")] at [time2text(world.timeofday, "hh:mm:ss")], [ckey], \"[url_encode(href)]\""
sleep(10) // build some more useful info
var/references = ""
for(var/href_key in href_list)
var/href_val = locate(href_list[href_key])
references += "[href_key] = [href_val]("
if(istype(href_val,/datum))
references += "[href_val:type]"
if(istype(href_val,/atom))
references += " at [href_val:x],[href_val:y],[href_val:z]"
references += "); "
file("topic_log") << references
sleep(3)
//search the href for script injection //This is a temporary measure //search the href for script injection //This is a temporary measure
if( findtext(href,"<script",1,0) ) if( findtext(href,"<script",1,0) )

View File

@@ -9,3 +9,5 @@
var/customname var/customname
var/choices = list() var/choices = list()
var/enteringchoices = 0 var/enteringchoices = 0
var/instant_restart = 0

View File

@@ -106,16 +106,20 @@
world << "Result is \red Restart round." world << "Result is \red Restart round."
world <<"\red <B>World will reboot in 5 seconds</B>" if(vote.instant_restart)
world <<"\red <B>World will reboot in 5 seconds</B>"
//feedback_set_details("end_error","restart vote") //feedback_set_details("end_error","restart vote")
if(blackbox) if(blackbox)
blackbox.save_all_data_to_sql() blackbox.save_all_data_to_sql()
sleep(50) sleep(50)
log_game("Rebooting due to restart vote") log_game("Rebooting due to restart vote")
world.Reboot() world.Reboot()
else
// Call the shift change shuttle instead
init_shift_change()
return return
@@ -256,10 +260,13 @@
usr << browse(text, "window=vote") usr << browse(text, "window=vote")
else // voting to restart else // voting to restart
text += "Vote to restart round in progress.<BR>" text += "Vote to call crew transfer shuttle round in progress.<BR>"
text += "[vote.endwait()] until voting is closed.<BR>" text += "[vote.endwait()] until voting is closed.<BR>"
text += "Restart the world?<BR><UL>" if(vote.instant_restart)
text += "Restart the world? <B><font color='red'>ONLY PRESS THIS IF THERE'S A ROUND-BREAKING GLITCH.</font></B><BR><UL>"
else
text += "Call the Crew Transfer Shuttle?<BR><UL>"
var/list/VL = list("default","restart") var/list/VL = list("default","restart")
@@ -391,6 +398,16 @@
if(M) M.vote() if(M) M.vote()
return return
if(vote.mode == 0)
var/answer = alert(M,"Do you want to force an immediate restart? Only do this when there are round-breaking glitches, or risk being banned.","Immediate Reboot?","Yes","No")
if(answer == "Yes")
vote.instant_restart = 1
log_admin("[M.key] has initiated an instant reboot vote! This may be banworthy!")
message_admins("[M.key] has initiated an instant reboot vote! This may be banworthy!")
else
vote.instant_restart = 0
if(!ticker && vote.mode == 1) if(!ticker && vote.mode == 1)
if(going) if(going)
world << "<B>The game start has been delayed.</B>" world << "<B>The game start has been delayed.</B>"
@@ -398,6 +415,7 @@
vote.voting = 1 // now voting vote.voting = 1 // now voting
vote.votetime = world.timeofday + config.vote_period*10 // when the vote will end vote.votetime = world.timeofday + config.vote_period*10 // when the vote will end
spawn(config.vote_period*10) spawn(config.vote_period*10)
vote.endvote() vote.endvote()

View File

@@ -322,3 +322,23 @@
if(O.name == zone) if(O.name == zone)
return O return O
return null return null
/mob/living/carbon/proc/drip()
/mob/living/carbon/proc/vomit()
// only humanoids and monkeys can vomit
if(!istype(src,/mob/living/carbon/human) && !istype(src,/mob/living/carbon/monkey))
return
// Make the human vomit on the floor
for(var/mob/O in viewers(world.view, src))
O.show_message(text("<b>\red [] throws up!</b>", src), 1)
playsound(src.loc, 'splat.ogg', 50, 1)
var/turf/location = loc
if (istype(location, /turf/simulated))
location.add_vomit_floor(src, 1)
nutrition -= 20
adjustToxLoss(-3)

View File

@@ -164,7 +164,7 @@
if(B.id == "blood") if(B.id == "blood")
B.data = list("donor"=src,"viruses"=null,"blood_DNA"=dna.unique_enzymes,"blood_type"=dna.b_type,"resistances"=null,"trace_chem"=null,"virus2"=(virus2 ? virus2.getcopy() : null),"antibodies"=0) B.data = list("donor"=src,"viruses"=null,"blood_DNA"=dna.unique_enzymes,"blood_type"=dna.b_type,"resistances"=null,"trace_chem"=null,"virus2"=(virus2 ? virus2.getcopy() : null),"antibodies"=0)
/mob/living/carbon/human/proc/drip(var/amt as num) /mob/living/carbon/human/drip(var/amt as num)
if(!amt) if(!amt)
return return

View File

@@ -431,20 +431,6 @@
if(breath) if(breath)
loc.assume_air(breath) loc.assume_air(breath)
vomit()
// Make the human vomit on the floor
for(var/mob/O in viewers(world.view, src))
O.show_message(text("<b>\red [] throws up!</b>", src), 1)
playsound(src.loc, 'splat.ogg', 50, 1)
var/turf/location = loc
if (istype(location, /turf/simulated))
location.add_vomit_floor(src, 1)
nutrition -= 20
adjustToxLoss(-3)
get_breath_from_internal(volume_needed) get_breath_from_internal(volume_needed)
if(internal) if(internal)
if (!contents.Find(internal)) if (!contents.Find(internal))

View File

@@ -82,6 +82,7 @@ should be listed in the changelog upon commit though. Thanks. -->
<li class="tweak">Your nutrition now decreases at the same rate as before it was nerfed.</li> <li class="tweak">Your nutrition now decreases at the same rate as before it was nerfed.</li>
<li class="tweak">Low nutrition will now have a much smaller effect on your speed.</li> <li class="tweak">Low nutrition will now have a much smaller effect on your speed.</li>
<li class="tweak">The hunger messages will start displaying a bit earlier.</li> <li class="tweak">The hunger messages will start displaying a bit earlier.</li>
<li class="rscadd">A restart vote now calls the Crew Transfer Shuttle by default. A regular restart is still possible for the purpose of rebooting a glitched server.</li>
</ul> </ul>
</div> </div>