mirror of
https://github.com/vgstation-coders/vgstation13.git
synced 2025-12-10 10:21:11 +00:00
-Advance diseases were given a good bug fixing based on reports and runtimes. Including the diseases spreading correctly.
=Proposals= -Cyborgs can now beep and ping. -Hulks will now talk in all upper-case and will spurt out random hulk phrases and flex. =Sprites= -Improved APC sprite by TankNut. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5031 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -120,11 +120,11 @@ var/list/diseases = typesof(/datum/disease) - /datum/disease
|
|||||||
if(how_spread != AIRBORNE && how_spread != SPECIAL)
|
if(how_spread != AIRBORNE && how_spread != SPECIAL)
|
||||||
check_range = 1 // everything else, like infect-on-contact things, only infect things on top of it
|
check_range = 1 // everything else, like infect-on-contact things, only infect things on top of it
|
||||||
|
|
||||||
if(isturf(affected_mob.loc))
|
if(isturf(source.loc))
|
||||||
for(var/mob/living/carbon/M in oview(check_range, source))
|
for(var/mob/living/carbon/M in oview(check_range, source))
|
||||||
if(isturf(M.loc))
|
if(isturf(M.loc))
|
||||||
if(AStar(affected_mob.loc, M.loc, /turf/proc/AdjacentTurfs, /turf/proc/Distance, check_range))
|
if(AStar(source.loc, M.loc, /turf/proc/AdjacentTurfs, /turf/proc/Distance, check_range))
|
||||||
M.contract_disease(src)
|
M.contract_disease(src, 0, 1, force_spread)
|
||||||
|
|
||||||
return
|
return
|
||||||
|
|
||||||
@@ -140,6 +140,7 @@ var/list/diseases = typesof(/datum/disease) - /datum/disease
|
|||||||
for(var/datum/disease/D in affected_mob.viruses)
|
for(var/datum/disease/D in affected_mob.viruses)
|
||||||
if(D != src)
|
if(D != src)
|
||||||
if(IsSame(D))
|
if(IsSame(D))
|
||||||
|
//error("Deleting [D.name] because it's the same as [src.name].")
|
||||||
del(D) // if there are somehow two viruses of the same kind in the system, delete the other one
|
del(D) // if there are somehow two viruses of the same kind in the system, delete the other one
|
||||||
|
|
||||||
if(holder == affected_mob)
|
if(holder == affected_mob)
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ var/list/archive_diseases = list()
|
|||||||
agent = "advance microbes"
|
agent = "advance microbes"
|
||||||
max_stages = 5
|
max_stages = 5
|
||||||
spread = "Unknown"
|
spread = "Unknown"
|
||||||
|
affected_species = list("Human","Monkey")
|
||||||
|
|
||||||
// NEW VARS
|
// NEW VARS
|
||||||
|
|
||||||
@@ -47,12 +48,15 @@ var/list/archive_diseases = list()
|
|||||||
if(!istype(D))
|
if(!istype(D))
|
||||||
D = null
|
D = null
|
||||||
// Generate symptoms if we weren't given any.
|
// Generate symptoms if we weren't given any.
|
||||||
|
|
||||||
if(!symptoms || !symptoms.len)
|
if(!symptoms || !symptoms.len)
|
||||||
|
|
||||||
if(!D || !D.symptoms || !D.symptoms.len)
|
if(!D || !D.symptoms || !D.symptoms.len)
|
||||||
symptoms = GenerateSymptoms()
|
symptoms = GenerateSymptoms()
|
||||||
else
|
else
|
||||||
symptoms = D.symptoms
|
symptoms = D.symptoms
|
||||||
name = D.name
|
name = D.name
|
||||||
|
|
||||||
Refresh(!copy)
|
Refresh(!copy)
|
||||||
..(process, D)
|
..(process, D)
|
||||||
return
|
return
|
||||||
@@ -69,9 +73,14 @@ var/list/archive_diseases = list()
|
|||||||
// Compares type then ID.
|
// Compares type then ID.
|
||||||
/datum/disease/advance/IsSame(var/datum/disease/advance/D)
|
/datum/disease/advance/IsSame(var/datum/disease/advance/D)
|
||||||
if(!(istype(D, /datum/disease/advance)))
|
if(!(istype(D, /datum/disease/advance)))
|
||||||
|
//error("Returning 0 because not same type.")
|
||||||
|
|
||||||
return 0
|
return 0
|
||||||
|
//error("Comparing [src.GetDiseaseID()] [D.GetDiseaseID()]")
|
||||||
if(src.GetDiseaseID() != D.GetDiseaseID())
|
if(src.GetDiseaseID() != D.GetDiseaseID())
|
||||||
|
//error("Returing 0")
|
||||||
return 0
|
return 0
|
||||||
|
//error("Returning 1")
|
||||||
return 1
|
return 1
|
||||||
|
|
||||||
// To add special resistances.
|
// To add special resistances.
|
||||||
@@ -149,14 +158,14 @@ var/list/archive_diseases = list()
|
|||||||
CRASH("We did not have any symptoms before generating properties.")
|
CRASH("We did not have any symptoms before generating properties.")
|
||||||
return
|
return
|
||||||
|
|
||||||
var/list/properties = list("resistance" = 1, "stealth" = 1, "stage_rate" = 1, "tansmittable" = 1, "severity" = 1)
|
var/list/properties = list("resistance" = 1, "stealth" = 1, "stage_rate" = 1, "transmittable" = 1, "severity" = 1)
|
||||||
|
|
||||||
for(var/datum/symptom/S in symptoms)
|
for(var/datum/symptom/S in symptoms)
|
||||||
|
|
||||||
properties["resistance"] += S.resistance
|
properties["resistance"] += S.resistance
|
||||||
properties["stealth"] += S.stealth
|
properties["stealth"] += S.stealth
|
||||||
properties["stage_rate"] += S.stage_speed
|
properties["stage_rate"] += S.stage_speed
|
||||||
properties["tansmittable"] += S.transmittable
|
properties["transmittable"] += S.transmittable
|
||||||
properties["severity"] = max(properties["severity"], S.level) // severity is based on the highest level symptom
|
properties["severity"] = max(properties["severity"], S.level) // severity is based on the highest level symptom
|
||||||
|
|
||||||
return properties
|
return properties
|
||||||
@@ -168,8 +177,8 @@ var/list/archive_diseases = list()
|
|||||||
|
|
||||||
hidden = list( (properties["stealth"] > 2), (properties["stealth"] > 3) )
|
hidden = list( (properties["stealth"] > 2), (properties["stealth"] > 3) )
|
||||||
// The more symptoms we have, the less transmittable it is but some symptoms can make up for it.
|
// The more symptoms we have, the less transmittable it is but some symptoms can make up for it.
|
||||||
SetSpread(max(BLOOD, min(round(properties["tansmittable"] - (symptoms.len / 2)), AIRBORNE)))
|
SetSpread(max(BLOOD, min(properties["transmittable"] - symptoms.len, AIRBORNE)))
|
||||||
permeability_mod = 0.5 * properties["transmittable"]
|
permeability_mod = round(0.5 * properties["transmittable"])
|
||||||
stage_prob = max(properties["stage_rate"], 1)
|
stage_prob = max(properties["stage_rate"], 1)
|
||||||
SetSeverity(properties["severity"])
|
SetSeverity(properties["severity"])
|
||||||
GenerateCure(properties)
|
GenerateCure(properties)
|
||||||
@@ -182,15 +191,15 @@ var/list/archive_diseases = list()
|
|||||||
switch(spread_id)
|
switch(spread_id)
|
||||||
|
|
||||||
if(NON_CONTAGIOUS)
|
if(NON_CONTAGIOUS)
|
||||||
src.spread = "None"
|
spread = "None"
|
||||||
if(SPECIAL)
|
if(SPECIAL)
|
||||||
src.spread = "None"
|
spread = "None"
|
||||||
if(CONTACT_GENERAL, CONTACT_HANDS, CONTACT_FEET)
|
if(CONTACT_GENERAL, CONTACT_HANDS, CONTACT_FEET)
|
||||||
src.spread = "On contact"
|
spread = "On contact"
|
||||||
if(AIRBORNE)
|
if(AIRBORNE)
|
||||||
src.spread = "Airborne"
|
spread = "Airborne"
|
||||||
if(BLOOD)
|
if(BLOOD)
|
||||||
src.spread = "Blood"
|
spread = "Blood"
|
||||||
|
|
||||||
spread_type = spread_id
|
spread_type = spread_id
|
||||||
//world << "Setting spread type to [spread_id]/[spread]"
|
//world << "Setting spread type to [spread_id]/[spread]"
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
/datum/disease/advance/cold/New(var/process = 1, var/datum/disease/advance/D)
|
/datum/disease/advance/cold/New(var/process = 1, var/datum/disease/advance/D, var/copy = 0)
|
||||||
|
if(!D)
|
||||||
name = "Cold"
|
name = "Cold"
|
||||||
symptoms = list(new/datum/symptom/sneeze)
|
symptoms = list(new/datum/symptom/sneeze)
|
||||||
..(process, D)
|
..(process, D, copy)
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
/datum/disease/advance/flu/New(var/process = 1, var/datum/disease/advance/D)
|
/datum/disease/advance/flu/New(var/process = 1, var/datum/disease/advance/D, var/copy = 0)
|
||||||
|
if(!D)
|
||||||
name = "Flu"
|
name = "Flu"
|
||||||
symptoms = list(new/datum/symptom/cough)
|
symptoms = list(new/datum/symptom/cough)
|
||||||
..(process, D)
|
..(process, D, copy)
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ Confusion
|
|||||||
Little bit hidden.
|
Little bit hidden.
|
||||||
Lowers resistance.
|
Lowers resistance.
|
||||||
Decreases stage speed.
|
Decreases stage speed.
|
||||||
|
Not very transmittable.
|
||||||
Intense Level.
|
Intense Level.
|
||||||
|
|
||||||
Bonus
|
Bonus
|
||||||
@@ -20,8 +21,10 @@ Bonus
|
|||||||
stealth = 1
|
stealth = 1
|
||||||
resistance = -1
|
resistance = -1
|
||||||
stage_speed = -3
|
stage_speed = -3
|
||||||
|
transmittable = 0
|
||||||
level = 4
|
level = 4
|
||||||
|
|
||||||
|
|
||||||
/datum/symptom/confusion/Activate(var/datum/disease/advance/A)
|
/datum/symptom/confusion/Activate(var/datum/disease/advance/A)
|
||||||
..()
|
..()
|
||||||
if(prob(SYMPTOM_ACTIVATION_PROB))
|
if(prob(SYMPTOM_ACTIVATION_PROB))
|
||||||
|
|||||||
@@ -5,7 +5,8 @@ Coughing
|
|||||||
|
|
||||||
Noticable.
|
Noticable.
|
||||||
No Resistance.
|
No Resistance.
|
||||||
Doesn't increase stage speed..
|
Doesn't increase stage speed.
|
||||||
|
Transmittable.
|
||||||
Low Level.
|
Low Level.
|
||||||
|
|
||||||
BONUS
|
BONUS
|
||||||
@@ -20,6 +21,7 @@ BONUS
|
|||||||
stealth = -1
|
stealth = -1
|
||||||
resistance = 0
|
resistance = 0
|
||||||
stage_speed = 0
|
stage_speed = 0
|
||||||
|
transmittable = 2
|
||||||
level = 1
|
level = 1
|
||||||
|
|
||||||
/datum/symptom/cough/Activate(var/datum/disease/advance/A)
|
/datum/symptom/cough/Activate(var/datum/disease/advance/A)
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ Damage Converter
|
|||||||
Little bit hidden.
|
Little bit hidden.
|
||||||
Lowers resistance tremendously.
|
Lowers resistance tremendously.
|
||||||
Decreases stage speed tremendously.
|
Decreases stage speed tremendously.
|
||||||
|
Reduced transmittablity
|
||||||
Intense Level.
|
Intense Level.
|
||||||
|
|
||||||
Bonus
|
Bonus
|
||||||
@@ -18,8 +19,9 @@ Bonus
|
|||||||
|
|
||||||
name = "Toxic Compensation"
|
name = "Toxic Compensation"
|
||||||
stealth = 1
|
stealth = 1
|
||||||
resistance = -5
|
resistance = -4
|
||||||
stage_speed = -5
|
stage_speed = -4
|
||||||
|
transmittable = -2
|
||||||
level = 4
|
level = 4
|
||||||
|
|
||||||
/datum/symptom/damage_converter/Activate(var/datum/disease/advance/A)
|
/datum/symptom/damage_converter/Activate(var/datum/disease/advance/A)
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ Dizziness
|
|||||||
Little bit hidden.
|
Little bit hidden.
|
||||||
Lowers resistance considerably.
|
Lowers resistance considerably.
|
||||||
Decreases stage speed.
|
Decreases stage speed.
|
||||||
|
Reduced transmittability
|
||||||
Intense Level.
|
Intense Level.
|
||||||
|
|
||||||
Bonus
|
Bonus
|
||||||
@@ -20,6 +21,7 @@ Bonus
|
|||||||
stealth = 1
|
stealth = 1
|
||||||
resistance = -2
|
resistance = -2
|
||||||
stage_speed = -3
|
stage_speed = -3
|
||||||
|
transmittable = -1
|
||||||
level = 4
|
level = 4
|
||||||
|
|
||||||
/datum/symptom/dizzy/Activate(var/datum/disease/advance/A)
|
/datum/symptom/dizzy/Activate(var/datum/disease/advance/A)
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ Fever
|
|||||||
No change to hidden.
|
No change to hidden.
|
||||||
Increases resistance.
|
Increases resistance.
|
||||||
Increases stage speed.
|
Increases stage speed.
|
||||||
|
Little transmittable.
|
||||||
Low level.
|
Low level.
|
||||||
|
|
||||||
Bonus
|
Bonus
|
||||||
@@ -20,6 +21,7 @@ Bonus
|
|||||||
stealth = 0
|
stealth = 0
|
||||||
resistance = 3
|
resistance = 3
|
||||||
stage_speed = 3
|
stage_speed = 3
|
||||||
|
transmittable = 1
|
||||||
level = 2
|
level = 2
|
||||||
|
|
||||||
/datum/symptom/fever/Activate(var/datum/disease/advance/A)
|
/datum/symptom/fever/Activate(var/datum/disease/advance/A)
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ Hallucigen
|
|||||||
Very noticable.
|
Very noticable.
|
||||||
Lowers resistance considerably.
|
Lowers resistance considerably.
|
||||||
Decreases stage speed.
|
Decreases stage speed.
|
||||||
|
Reduced transmittable.
|
||||||
Critical Level.
|
Critical Level.
|
||||||
|
|
||||||
Bonus
|
Bonus
|
||||||
@@ -20,6 +21,7 @@ Bonus
|
|||||||
stealth = -2
|
stealth = -2
|
||||||
resistance = -3
|
resistance = -3
|
||||||
stage_speed = -3
|
stage_speed = -3
|
||||||
|
transmittable = -1
|
||||||
level = 5
|
level = 5
|
||||||
|
|
||||||
/datum/symptom/hallucigen/Activate(var/datum/disease/advance/A)
|
/datum/symptom/hallucigen/Activate(var/datum/disease/advance/A)
|
||||||
|
|||||||
@@ -5,7 +5,8 @@ Headache
|
|||||||
|
|
||||||
Noticable.
|
Noticable.
|
||||||
Highly resistant.
|
Highly resistant.
|
||||||
Increases stage speed..
|
Increases stage speed.
|
||||||
|
Not transmittable.
|
||||||
Low Level.
|
Low Level.
|
||||||
|
|
||||||
BONUS
|
BONUS
|
||||||
@@ -15,15 +16,16 @@ BONUS
|
|||||||
//////////////////////////////////////
|
//////////////////////////////////////
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/datum/symptom/cough
|
/datum/symptom/headache
|
||||||
|
|
||||||
name = "Headache"
|
name = "Headache"
|
||||||
stealth = -1
|
stealth = -1
|
||||||
resistance = 4
|
resistance = 4
|
||||||
stage_speed = 2
|
stage_speed = 2
|
||||||
|
transmittable = 0
|
||||||
level = 1
|
level = 1
|
||||||
|
|
||||||
/datum/symptom/cough/Activate(var/datum/disease/advance/A)
|
/datum/symptom/headache/Activate(var/datum/disease/advance/A)
|
||||||
..()
|
..()
|
||||||
if(prob(SYMPTOM_ACTIVATION_PROB))
|
if(prob(SYMPTOM_ACTIVATION_PROB))
|
||||||
var/mob/living/M = A.affected_mob
|
var/mob/living/M = A.affected_mob
|
||||||
|
|||||||
@@ -5,7 +5,8 @@ Itching
|
|||||||
|
|
||||||
Not noticable or unnoticable.
|
Not noticable or unnoticable.
|
||||||
Resistant.
|
Resistant.
|
||||||
Increases stage speed..
|
Increases stage speed.
|
||||||
|
Little transmittable.
|
||||||
Low Level.
|
Low Level.
|
||||||
|
|
||||||
BONUS
|
BONUS
|
||||||
@@ -21,6 +22,7 @@ BONUS
|
|||||||
stealth = 0
|
stealth = 0
|
||||||
resistance = 3
|
resistance = 3
|
||||||
stage_speed = 3
|
stage_speed = 3
|
||||||
|
transmittable = 1
|
||||||
level = 1
|
level = 1
|
||||||
|
|
||||||
/datum/symptom/itching/Activate(var/datum/disease/advance/A)
|
/datum/symptom/itching/Activate(var/datum/disease/advance/A)
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ Sneezing
|
|||||||
Very Noticable.
|
Very Noticable.
|
||||||
Increases resistance.
|
Increases resistance.
|
||||||
Doesn't increase stage speed.
|
Doesn't increase stage speed.
|
||||||
|
Very transmittable.
|
||||||
Low Level.
|
Low Level.
|
||||||
|
|
||||||
Bonus
|
Bonus
|
||||||
@@ -21,6 +22,7 @@ Bonus
|
|||||||
stealth = -2
|
stealth = -2
|
||||||
resistance = 2
|
resistance = 2
|
||||||
stage_speed = 0
|
stage_speed = 0
|
||||||
|
transmittable = 3
|
||||||
level = 1
|
level = 1
|
||||||
|
|
||||||
/datum/symptom/sneeze/Activate(var/datum/disease/advance/A)
|
/datum/symptom/sneeze/Activate(var/datum/disease/advance/A)
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ Vomiting
|
|||||||
Very Very Noticable.
|
Very Very Noticable.
|
||||||
Decreases resistance.
|
Decreases resistance.
|
||||||
Doesn't increase stage speed.
|
Doesn't increase stage speed.
|
||||||
|
Little transmittable.
|
||||||
Medium Level.
|
Medium Level.
|
||||||
|
|
||||||
Bonus
|
Bonus
|
||||||
@@ -24,6 +25,7 @@ Bonus
|
|||||||
stealth = -2
|
stealth = -2
|
||||||
resistance = -1
|
resistance = -1
|
||||||
stage_speed = 0
|
stage_speed = 0
|
||||||
|
transmittable = 1
|
||||||
level = 3
|
level = 3
|
||||||
|
|
||||||
/datum/symptom/vomit/Activate(var/datum/disease/advance/A)
|
/datum/symptom/vomit/Activate(var/datum/disease/advance/A)
|
||||||
@@ -57,6 +59,7 @@ Vomiting Blood
|
|||||||
Very Very Noticable.
|
Very Very Noticable.
|
||||||
Decreases resistance.
|
Decreases resistance.
|
||||||
Decreases stage speed.
|
Decreases stage speed.
|
||||||
|
Little transmittable.
|
||||||
Intense level.
|
Intense level.
|
||||||
|
|
||||||
Bonus
|
Bonus
|
||||||
@@ -74,6 +77,7 @@ Bonus
|
|||||||
stealth = -2
|
stealth = -2
|
||||||
resistance = -1
|
resistance = -1
|
||||||
stage_speed = -1
|
stage_speed = -1
|
||||||
|
transmittable = 1
|
||||||
level = 4
|
level = 4
|
||||||
|
|
||||||
/datum/symptom/vomit/blood/Vomit(var/mob/living/M)
|
/datum/symptom/vomit/blood/Vomit(var/mob/living/M)
|
||||||
|
|||||||
@@ -5,7 +5,8 @@ Weight Gain
|
|||||||
|
|
||||||
Very Very Noticable.
|
Very Very Noticable.
|
||||||
Decreases resistance.
|
Decreases resistance.
|
||||||
Decreases stage speed..
|
Decreases stage speed.
|
||||||
|
Reduced transmittable.
|
||||||
Intense Level.
|
Intense Level.
|
||||||
|
|
||||||
Bonus
|
Bonus
|
||||||
@@ -20,6 +21,7 @@ Bonus
|
|||||||
stealth = -3
|
stealth = -3
|
||||||
resistance = -3
|
resistance = -3
|
||||||
stage_speed = -2
|
stage_speed = -2
|
||||||
|
transmittable = -2
|
||||||
level = 4
|
level = 4
|
||||||
|
|
||||||
/datum/symptom/weight_gain/Activate(var/datum/disease/advance/A)
|
/datum/symptom/weight_gain/Activate(var/datum/disease/advance/A)
|
||||||
@@ -44,6 +46,7 @@ Weight Loss
|
|||||||
Very Very Noticable.
|
Very Very Noticable.
|
||||||
Decreases resistance.
|
Decreases resistance.
|
||||||
Decreases stage speed.
|
Decreases stage speed.
|
||||||
|
Reduced Transmittable.
|
||||||
High level.
|
High level.
|
||||||
|
|
||||||
Bonus
|
Bonus
|
||||||
@@ -59,6 +62,7 @@ Bonus
|
|||||||
stealth = -3
|
stealth = -3
|
||||||
resistance = -2
|
resistance = -2
|
||||||
stage_speed = -2
|
stage_speed = -2
|
||||||
|
transmittable = -2
|
||||||
level = 3
|
level = 3
|
||||||
|
|
||||||
/datum/symptom/weight_loss/Activate(var/datum/disease/advance/A)
|
/datum/symptom/weight_loss/Activate(var/datum/disease/advance/A)
|
||||||
@@ -82,6 +86,7 @@ Weight Even
|
|||||||
Very Noticable.
|
Very Noticable.
|
||||||
Decreases resistance.
|
Decreases resistance.
|
||||||
Decreases stage speed.
|
Decreases stage speed.
|
||||||
|
Reduced transmittable.
|
||||||
High level.
|
High level.
|
||||||
|
|
||||||
Bonus
|
Bonus
|
||||||
@@ -98,6 +103,7 @@ Bonus
|
|||||||
stealth = -3
|
stealth = -3
|
||||||
resistance = -2
|
resistance = -2
|
||||||
stage_speed = -2
|
stage_speed = -2
|
||||||
|
transmittable = -2
|
||||||
level = 4
|
level = 4
|
||||||
|
|
||||||
/datum/symptom/weight_loss/Activate(var/datum/disease/advance/A)
|
/datum/symptom/weight_loss/Activate(var/datum/disease/advance/A)
|
||||||
|
|||||||
@@ -208,6 +208,13 @@
|
|||||||
Weaken(3)
|
Weaken(3)
|
||||||
emote("collapse")
|
emote("collapse")
|
||||||
|
|
||||||
|
if ((HULK in mutations) && health >= 25)
|
||||||
|
if (prob(7))
|
||||||
|
switch(pick(1,2))
|
||||||
|
if(1)
|
||||||
|
say(pick("HGH!", "PROTEIN!", "OH YEAH!", "HULK SMASH!", "HULK NOT LIKE BOOKS!", "HNNNNNNNNNGGGGGGH!", ))
|
||||||
|
if(2)
|
||||||
|
emote("flexes")
|
||||||
if (radiation)
|
if (radiation)
|
||||||
if (radiation > 100)
|
if (radiation > 100)
|
||||||
radiation = 100
|
radiation = 100
|
||||||
|
|||||||
@@ -70,6 +70,10 @@
|
|||||||
if(prob(25))
|
if(prob(25))
|
||||||
message += " OLE!"
|
message += " OLE!"
|
||||||
|
|
||||||
|
if ((HULK in mutations) && health >= 25)
|
||||||
|
if(copytext(message, 1, 2) != "*")
|
||||||
|
message = uppertext(message) //because I don't know how to code properly in getting vars from other files -Bro
|
||||||
|
|
||||||
//Ninja mask obscures text and voice if set to do so.
|
//Ninja mask obscures text and voice if set to do so.
|
||||||
//Would make it more global but it's sort of ninja specific.
|
//Would make it more global but it's sort of ninja specific.
|
||||||
if(istype(src.wear_mask, /obj/item/clothing/mask/gas/voice/space_ninja)&&src.wear_mask:voice=="Unknown")
|
if(istype(src.wear_mask, /obj/item/clothing/mask/gas/voice/space_ninja)&&src.wear_mask:voice=="Unknown")
|
||||||
|
|||||||
@@ -143,6 +143,58 @@
|
|||||||
else
|
else
|
||||||
message = "<B>[src]</B> looks."
|
message = "<B>[src]</B> looks."
|
||||||
m_type = 1
|
m_type = 1
|
||||||
|
|
||||||
|
if("beep")
|
||||||
|
var/M = null
|
||||||
|
if(param)
|
||||||
|
for (var/mob/A in view(null, null))
|
||||||
|
if (param == A.name)
|
||||||
|
M = A
|
||||||
|
break
|
||||||
|
if(!M)
|
||||||
|
param = null
|
||||||
|
|
||||||
|
if (param)
|
||||||
|
message = "<B>[src]</B> beeps at [param]."
|
||||||
|
else
|
||||||
|
message = "<B>[src]</B> beeps."
|
||||||
|
playsound(src.loc, 'twobeep.ogg', 50, 0)
|
||||||
|
m_type = 1
|
||||||
|
|
||||||
|
if("ping")
|
||||||
|
var/M = null
|
||||||
|
if(param)
|
||||||
|
for (var/mob/A in view(null, null))
|
||||||
|
if (param == A.name)
|
||||||
|
M = A
|
||||||
|
break
|
||||||
|
if(!M)
|
||||||
|
param = null
|
||||||
|
|
||||||
|
if (param)
|
||||||
|
message = "<B>[src]</B> pings at [param]."
|
||||||
|
else
|
||||||
|
message = "<B>[src]</B> pings."
|
||||||
|
playsound(src.loc, 'ping.ogg', 50, 0)
|
||||||
|
m_type = 1
|
||||||
|
|
||||||
|
if("buzz")
|
||||||
|
var/M = null
|
||||||
|
if(param)
|
||||||
|
for (var/mob/A in view(null, null))
|
||||||
|
if (param == A.name)
|
||||||
|
M = A
|
||||||
|
break
|
||||||
|
if(!M)
|
||||||
|
param = null
|
||||||
|
|
||||||
|
if (param)
|
||||||
|
message = "<B>[src]</B> buzzes at [param]."
|
||||||
|
else
|
||||||
|
message = "<B>[src]</B> buzzes."
|
||||||
|
playsound(src.loc, 'buzz-sigh.ogg', 50, 0)
|
||||||
|
m_type = 1
|
||||||
|
|
||||||
else
|
else
|
||||||
src << text("Invalid Emote: []", act)
|
src << text("Invalid Emote: []", act)
|
||||||
if ((message && src.stat == 0))
|
if ((message && src.stat == 0))
|
||||||
|
|||||||
@@ -6,20 +6,25 @@ Put (mob/proc)s here that are in dire need of a code cleanup.
|
|||||||
/mob/proc/has_disease(var/datum/disease/virus)
|
/mob/proc/has_disease(var/datum/disease/virus)
|
||||||
for(var/datum/disease/D in viruses)
|
for(var/datum/disease/D in viruses)
|
||||||
if(D.IsSame(virus))
|
if(D.IsSame(virus))
|
||||||
|
//error("[D.name]/[D.type] is the same as [virus.name]/[virus.type]")
|
||||||
return 1
|
return 1
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
// This proc has some procs that should be extracted from it. I believe we can develop some helper procs from it - Rockdtben
|
// This proc has some procs that should be extracted from it. I believe we can develop some helper procs from it - Rockdtben
|
||||||
/mob/proc/contract_disease(var/datum/disease/virus, var/skip_this = 0, var/force_species_check=1)
|
/mob/proc/contract_disease(var/datum/disease/virus, var/skip_this = 0, var/force_species_check=1, var/spread_type = -5)
|
||||||
//world << "Contract_disease called by [src] with virus [virus]"
|
//world << "Contract_disease called by [src] with virus [virus]"
|
||||||
if(stat >=2)
|
if(stat >=2)
|
||||||
|
//world << "He's dead jim."
|
||||||
return
|
return
|
||||||
if(istype(virus, /datum/disease/advance))
|
if(istype(virus, /datum/disease/advance))
|
||||||
|
//world << "It's an advance virus."
|
||||||
var/datum/disease/advance/A = virus
|
var/datum/disease/advance/A = virus
|
||||||
if(A.GetDiseaseID() in resistances)
|
if(A.GetDiseaseID() in resistances)
|
||||||
|
//world << "It resisted us!"
|
||||||
return
|
return
|
||||||
else
|
else
|
||||||
if(src.resistances.Find(virus.type))
|
if(src.resistances.Find(virus.type))
|
||||||
|
//world << "Normal virus and resisted"
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|
||||||
@@ -37,10 +42,10 @@ Put (mob/proc)s here that are in dire need of a code cleanup.
|
|||||||
if(fail) return
|
if(fail) return
|
||||||
|
|
||||||
if(skip_this == 1)
|
if(skip_this == 1)
|
||||||
|
//world << "infectin"
|
||||||
//if(src.virus) < -- this used to replace the current disease. Not anymore!
|
//if(src.virus) < -- this used to replace the current disease. Not anymore!
|
||||||
//src.virus.cure(0)
|
//src.virus.cure(0)
|
||||||
|
var/datum/disease/v = new virus.type(1, virus, 0)
|
||||||
var/datum/disease/v = new virus.type(D = virus)
|
|
||||||
src.viruses += v
|
src.viruses += v
|
||||||
v.affected_mob = src
|
v.affected_mob = src
|
||||||
v.strain_data = v.strain_data.Copy()
|
v.strain_data = v.strain_data.Copy()
|
||||||
@@ -48,7 +53,7 @@ Put (mob/proc)s here that are in dire need of a code cleanup.
|
|||||||
if(v.can_carry && prob(5))
|
if(v.can_carry && prob(5))
|
||||||
v.carrier = 1
|
v.carrier = 1
|
||||||
return
|
return
|
||||||
|
//world << "Not skipping."
|
||||||
//if(src.virus) //
|
//if(src.virus) //
|
||||||
//return //
|
//return //
|
||||||
|
|
||||||
@@ -67,7 +72,7 @@ Put (mob/proc)s here that are in dire need of a code cleanup.
|
|||||||
|
|
||||||
*/
|
*/
|
||||||
if(prob(15/virus.permeability_mod)) return //the power of immunity compels this disease! but then you forgot resistances
|
if(prob(15/virus.permeability_mod)) return //the power of immunity compels this disease! but then you forgot resistances
|
||||||
|
//world << "past prob()"
|
||||||
var/obj/item/clothing/Cl = null
|
var/obj/item/clothing/Cl = null
|
||||||
var/passed = 1
|
var/passed = 1
|
||||||
|
|
||||||
@@ -77,7 +82,10 @@ Put (mob/proc)s here that are in dire need of a code cleanup.
|
|||||||
var/hands_ch
|
var/hands_ch
|
||||||
var/feet_ch
|
var/feet_ch
|
||||||
|
|
||||||
switch(virus.spread_type)
|
if(spread_type == -5)
|
||||||
|
spread_type = virus.spread_type
|
||||||
|
|
||||||
|
switch(spread_type)
|
||||||
if(CONTACT_HANDS)
|
if(CONTACT_HANDS)
|
||||||
head_ch = 0
|
head_ch = 0
|
||||||
body_ch = 0
|
body_ch = 0
|
||||||
@@ -158,7 +166,7 @@ Put (mob/proc)s here that are in dire need of a code cleanup.
|
|||||||
passed = prob(Cl.permeability_coefficient*100+virus.permeability_mod)
|
passed = prob(Cl.permeability_coefficient*100+virus.permeability_mod)
|
||||||
//world << "Mask pass [passed]"
|
//world << "Mask pass [passed]"
|
||||||
|
|
||||||
if(passed && virus.spread_type == AIRBORNE && internals)
|
if(passed && spread_type == AIRBORNE && internals)
|
||||||
passed = (prob(50*virus.permeability_mod))
|
passed = (prob(50*virus.permeability_mod))
|
||||||
|
|
||||||
if(passed)
|
if(passed)
|
||||||
@@ -192,7 +200,8 @@ Put (mob/proc)s here that are in dire need of a code cleanup.
|
|||||||
else if(prob(15))
|
else if(prob(15))
|
||||||
return
|
return
|
||||||
else*/
|
else*/
|
||||||
var/datum/disease/v = new virus.type
|
|
||||||
|
var/datum/disease/v = new virus.type(1, virus, 0)
|
||||||
src.viruses += v
|
src.viruses += v
|
||||||
v.affected_mob = src
|
v.affected_mob = src
|
||||||
v.strain_data = v.strain_data.Copy()
|
v.strain_data = v.strain_data.Copy()
|
||||||
|
|||||||
@@ -100,14 +100,14 @@ datum
|
|||||||
var/datum/reagent/blood/self = src
|
var/datum/reagent/blood/self = src
|
||||||
src = null
|
src = null
|
||||||
for(var/datum/disease/D in self.data["viruses"])
|
for(var/datum/disease/D in self.data["viruses"])
|
||||||
var/datum/disease/virus = new D.type(D)
|
//var/datum/disease/virus = new D.type(0, D, 1)
|
||||||
// We don't spread.
|
// We don't spread.
|
||||||
if(virus.spread_type == SPECIAL || virus.spread_type == NON_CONTAGIOUS) continue
|
if(D.spread_type == SPECIAL || D.spread_type == NON_CONTAGIOUS) continue
|
||||||
|
|
||||||
if(method == TOUCH)
|
if(method == TOUCH)
|
||||||
M.contract_disease(virus)
|
M.contract_disease(D)
|
||||||
else //injected
|
else //injected
|
||||||
M.contract_disease(virus, 1, 0)
|
M.contract_disease(D, 1, 0)
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|||||||
@@ -49,6 +49,18 @@ should be listed in the changelog upon commit tho. Thanks. -->
|
|||||||
|
|
||||||
<!-- To take advantage of the pretty new format (well it was new when I wrote this anyway), open the "add-to-changelog.html" file in any browser and add the stuff and then generate the html code and paste it here -->
|
<!-- To take advantage of the pretty new format (well it was new when I wrote this anyway), open the "add-to-changelog.html" file in any browser and add the stuff and then generate the html code and paste it here -->
|
||||||
|
|
||||||
|
<div class="commit sansserif">
|
||||||
|
<h2 class="date">09 November 2012</h2>
|
||||||
|
<h3 class="author">Giacom updated:</h3>
|
||||||
|
<ul class="changes bgimages16">
|
||||||
|
<li class="rscadd">Cyborgs can now ping and beep! (Say "*beep" and "*ping") Thanks to Rahlzel for the proposal.</li>
|
||||||
|
<li class="tweak">HULKS WILL NOW TALK IN ALL CAPS AND WILL RANDOMLY SAY HULK THINGS. Thanks to Brotemis for the proposal.</li>
|
||||||
|
<li class="wip">Sorry for the inconveniences with advance diseases. They are working much better now!</li>
|
||||||
|
<li class="imageadd">An improved APC sprite by TankNut!</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
<div class="commit sansserif">
|
<div class="commit sansserif">
|
||||||
<h2 class="date">05 November 2012</h2>
|
<h2 class="date">05 November 2012</h2>
|
||||||
<h3 class="author">Giacom updated:</h3>
|
<h3 class="author">Giacom updated:</h3>
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 22 KiB |
Reference in New Issue
Block a user