mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-13 19:52:40 +00:00
-Vent crawling mobs will trigger the area's Enter, which will fix turrets not targeting mobs vent crawling into the AI chamber/upload.
-Fixed turrets shooting over mobs, when they're lying down. -Monkey boxes will now contain 5 monkeys. -Decreased the amount of EMP grenades to the initial 5. -Added several more symptoms. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@4993 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -204,7 +204,7 @@ var/list/archive_diseases = list()
|
|||||||
// Will generate a random cure, the less resistance the symptoms have, the harder the cure.
|
// Will generate a random cure, the less resistance the symptoms have, the harder the cure.
|
||||||
/datum/disease/advance/proc/GenerateCure(var/list/properties = list())
|
/datum/disease/advance/proc/GenerateCure(var/list/properties = list())
|
||||||
if(properties && properties.len)
|
if(properties && properties.len)
|
||||||
var/res = max(properties["resistance"] - symptoms.len, 1)
|
var/res = max(properties["resistance"] - symptoms.len, 0)
|
||||||
//world << "Res = [res]"
|
//world << "Res = [res]"
|
||||||
switch(res)
|
switch(res)
|
||||||
// Due to complications, I cannot randomly generate cures or randomly give cures.
|
// Due to complications, I cannot randomly generate cures or randomly give cures.
|
||||||
|
|||||||
35
code/datums/diseases/advance/symptoms/hallucigen.dm
Normal file
35
code/datums/diseases/advance/symptoms/hallucigen.dm
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
/*
|
||||||
|
//////////////////////////////////////
|
||||||
|
|
||||||
|
Hallucigen
|
||||||
|
|
||||||
|
Very noticable.
|
||||||
|
Lowers resistance considerably.
|
||||||
|
Decreases stage speed.
|
||||||
|
Critical Level.
|
||||||
|
|
||||||
|
Bonus
|
||||||
|
Makes the affected mob be hallucinated for short periods of time.
|
||||||
|
|
||||||
|
//////////////////////////////////////
|
||||||
|
*/
|
||||||
|
|
||||||
|
/datum/symptom/hallucigen
|
||||||
|
|
||||||
|
name = "Hallucigen"
|
||||||
|
stealth = -2
|
||||||
|
resistance = -3
|
||||||
|
stage_speed = -3
|
||||||
|
level = 5
|
||||||
|
|
||||||
|
/datum/symptom/hallucigen/Activate(var/datum/disease/advance/A)
|
||||||
|
..()
|
||||||
|
if(prob(SYMPTOM_ACTIVATION_PROB))
|
||||||
|
var/mob/living/carbon/M = A.affected_mob
|
||||||
|
switch(A.stage)
|
||||||
|
if(1, 2, 3, 4)
|
||||||
|
M << "<span class='notice'>[pick("You notice someone in the corner of your eye.", "Is that footsteps?.")]</span>"
|
||||||
|
else
|
||||||
|
M.hallucination += 5
|
||||||
|
|
||||||
|
return
|
||||||
112
code/datums/diseases/advance/symptoms/weight.dm
Normal file
112
code/datums/diseases/advance/symptoms/weight.dm
Normal file
@@ -0,0 +1,112 @@
|
|||||||
|
/*
|
||||||
|
//////////////////////////////////////
|
||||||
|
|
||||||
|
Weight Gain
|
||||||
|
|
||||||
|
Very Very Noticable.
|
||||||
|
Decreases resistance.
|
||||||
|
Decreases stage speed..
|
||||||
|
Intense Level.
|
||||||
|
|
||||||
|
Bonus
|
||||||
|
Increases the weight gain of the mob,
|
||||||
|
forcing it to eventually turn fat.
|
||||||
|
//////////////////////////////////////
|
||||||
|
*/
|
||||||
|
|
||||||
|
/datum/symptom/weight_gain
|
||||||
|
|
||||||
|
name = "Weight Gain"
|
||||||
|
stealth = -3
|
||||||
|
resistance = -3
|
||||||
|
stage_speed = -2
|
||||||
|
level = 4
|
||||||
|
|
||||||
|
/datum/symptom/weight_gain/Activate(var/datum/disease/advance/A)
|
||||||
|
..()
|
||||||
|
if(prob(SYMPTOM_ACTIVATION_PROB))
|
||||||
|
var/mob/living/M = A.affected_mob
|
||||||
|
switch(A.stage)
|
||||||
|
if(1, 2, 3, 4)
|
||||||
|
M << "<span class='notice'>[pick("You feel blubbery.", "You feel full.")]</span>"
|
||||||
|
else
|
||||||
|
M.overeatduration = min(M.overeatduration + 100, 600)
|
||||||
|
M.nutrition = min(M.nutrition + 100, 500)
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
//////////////////////////////////////
|
||||||
|
|
||||||
|
Weight Loss
|
||||||
|
|
||||||
|
Very Very Noticable.
|
||||||
|
Decreases resistance.
|
||||||
|
Decreases stage speed.
|
||||||
|
High level.
|
||||||
|
|
||||||
|
Bonus
|
||||||
|
Decreases the weight of the mob,
|
||||||
|
forcing it to be skinny.
|
||||||
|
|
||||||
|
//////////////////////////////////////
|
||||||
|
*/
|
||||||
|
|
||||||
|
/datum/symptom/weight_loss
|
||||||
|
|
||||||
|
name = "Weight Loss"
|
||||||
|
stealth = -3
|
||||||
|
resistance = -2
|
||||||
|
stage_speed = -2
|
||||||
|
level = 3
|
||||||
|
|
||||||
|
/datum/symptom/weight_loss/Activate(var/datum/disease/advance/A)
|
||||||
|
..()
|
||||||
|
if(prob(SYMPTOM_ACTIVATION_PROB))
|
||||||
|
var/mob/living/M = A.affected_mob
|
||||||
|
switch(A.stage)
|
||||||
|
if(1, 2, 3, 4)
|
||||||
|
M << "<span class='notice'>[pick("You feel hungry.", "You crave for food.")]</span>"
|
||||||
|
else
|
||||||
|
M.overeatduration = max(M.overeatduration - 100, 0)
|
||||||
|
M.nutrition = max(M.nutrition - 100, 0)
|
||||||
|
|
||||||
|
return
|
||||||
|
|
||||||
|
/*
|
||||||
|
//////////////////////////////////////
|
||||||
|
|
||||||
|
Weight Even
|
||||||
|
|
||||||
|
Very Noticable.
|
||||||
|
Decreases resistance.
|
||||||
|
Decreases stage speed.
|
||||||
|
High level.
|
||||||
|
|
||||||
|
Bonus
|
||||||
|
Causes the weight of the mob to
|
||||||
|
be even, meaning eating isn't
|
||||||
|
required anymore.
|
||||||
|
|
||||||
|
//////////////////////////////////////
|
||||||
|
*/
|
||||||
|
|
||||||
|
/datum/symptom/weight_even
|
||||||
|
|
||||||
|
name = "Weight Even"
|
||||||
|
stealth = -3
|
||||||
|
resistance = -2
|
||||||
|
stage_speed = -2
|
||||||
|
level = 4
|
||||||
|
|
||||||
|
/datum/symptom/weight_loss/Activate(var/datum/disease/advance/A)
|
||||||
|
..()
|
||||||
|
if(prob(SYMPTOM_ACTIVATION_PROB))
|
||||||
|
var/mob/living/M = A.affected_mob
|
||||||
|
switch(A.stage)
|
||||||
|
if(5)
|
||||||
|
M.overeatduration = 0
|
||||||
|
M.nutrition = 400
|
||||||
|
|
||||||
|
return
|
||||||
@@ -224,7 +224,7 @@
|
|||||||
A = new /obj/item/projectile/bluetag( loc )
|
A = new /obj/item/projectile/bluetag( loc )
|
||||||
if(6)
|
if(6)
|
||||||
A = new /obj/item/projectile/redtag( loc )
|
A = new /obj/item/projectile/redtag( loc )
|
||||||
A.original = target.loc
|
A.original = target
|
||||||
use_power(500)
|
use_power(500)
|
||||||
else
|
else
|
||||||
A = new /obj/item/projectile/energy/electrode( loc )
|
A = new /obj/item/projectile/energy/electrode( loc )
|
||||||
|
|||||||
@@ -41,8 +41,6 @@
|
|||||||
new /obj/item/weapon/grenade/empgrenade(src)
|
new /obj/item/weapon/grenade/empgrenade(src)
|
||||||
new /obj/item/weapon/grenade/empgrenade(src)
|
new /obj/item/weapon/grenade/empgrenade(src)
|
||||||
new /obj/item/weapon/grenade/empgrenade(src)
|
new /obj/item/weapon/grenade/empgrenade(src)
|
||||||
new /obj/item/weapon/grenade/empgrenade(src)
|
|
||||||
new /obj/item/weapon/grenade/empgrenade(src)
|
|
||||||
..()
|
..()
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
|
|
||||||
/obj/item/weapon/storage/monkeycube_box/New()
|
/obj/item/weapon/storage/monkeycube_box/New()
|
||||||
..()
|
..()
|
||||||
new /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped(src)
|
for(var/i = 1; i <= 5; i++)
|
||||||
new /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped(src)
|
new /obj/item/weapon/reagent_containers/food/snacks/monkeycube/wrapped(src)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
|||||||
@@ -313,6 +313,9 @@
|
|||||||
target_vent = vent_found //travel back. No additional time required.
|
target_vent = vent_found //travel back. No additional time required.
|
||||||
src << "\red The vent you were heading to appears to be welded."
|
src << "\red The vent you were heading to appears to be welded."
|
||||||
loc = target_vent.loc
|
loc = target_vent.loc
|
||||||
|
var/area/new_area = get_area(loc)
|
||||||
|
if(new_area)
|
||||||
|
new_area.Entered(src)
|
||||||
|
|
||||||
else
|
else
|
||||||
src << "You need to remain still while entering a vent."
|
src << "You need to remain still while entering a vent."
|
||||||
|
|||||||
Reference in New Issue
Block a user