mirror of
https://github.com/PolarisSS13/Polaris.git
synced 2025-12-21 23:52:48 +00:00
Merge pull request #1162 from CIB/master
Added crew transfer shuttle to the restart vote, disease fix
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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) )
|
||||||
|
|||||||
@@ -9,3 +9,5 @@
|
|||||||
var/customname
|
var/customname
|
||||||
var/choices = list()
|
var/choices = list()
|
||||||
var/enteringchoices = 0
|
var/enteringchoices = 0
|
||||||
|
|
||||||
|
var/instant_restart = 0
|
||||||
@@ -106,6 +106,7 @@
|
|||||||
|
|
||||||
world << "Result is \red Restart round."
|
world << "Result is \red Restart round."
|
||||||
|
|
||||||
|
if(vote.instant_restart)
|
||||||
world <<"\red <B>World will reboot in 5 seconds</B>"
|
world <<"\red <B>World will reboot in 5 seconds</B>"
|
||||||
|
|
||||||
//feedback_set_details("end_error","restart vote")
|
//feedback_set_details("end_error","restart vote")
|
||||||
@@ -116,6 +117,9 @@
|
|||||||
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()
|
||||||
|
|
||||||
|
|||||||
@@ -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)
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|
||||||
|
|||||||
@@ -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))
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user