mirror of
https://github.com/CHOMPStation2/CHOMPStation2.git
synced 2025-12-10 18:22:39 +00:00
Balance change: Malf AIs can't shunt from APC to APC and must first return to their core. They can also start a takeover from their APC now. This is a test run with it and if people don't like it I'll remove it.
General work to advance diseases. -Changed the possible cures to a list which is ordered from easiest to cure to -hardest to cure. -Some tweak valuables to symptoms. -Air alarms will update their window when you cut/pulse wires. -Re-added analysers to mechanical (blue) toolboxes. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5125 316c924e-a436-60f5-8080-3fe189b3f50e
This commit is contained in:
@@ -11,6 +11,13 @@
|
||||
|
||||
var/list/archive_diseases = list()
|
||||
|
||||
// The order goes from easy to cure to hard to cure.
|
||||
var/list/advance_cures = list(
|
||||
"nutriment", "sugar", "orangejuice",
|
||||
"spaceacillin", "kelotane", "ethanol",
|
||||
"leporazine", "synaptizine", "lipozine",
|
||||
"silver", "gold", "plasma"
|
||||
)
|
||||
|
||||
/*
|
||||
|
||||
@@ -191,6 +198,7 @@ var/list/archive_diseases = list()
|
||||
// The more symptoms we have, the less transmittable it is but some symptoms can make up for it.
|
||||
SetSpread(max(BLOOD, min(properties["transmittable"] - symptoms.len, AIRBORNE)))
|
||||
permeability_mod = max(round(0.5 * properties["transmittable"]), 1)
|
||||
cure_chance = 10 - min(max(properties["resistance"], -5), 5) // can be between 5 and 15
|
||||
stage_prob = max(properties["stage_rate"], 2)
|
||||
SetSeverity(properties["severity"])
|
||||
GenerateCure(properties)
|
||||
@@ -239,42 +247,9 @@ var/list/archive_diseases = list()
|
||||
// Will generate a random cure, the less resistance the symptoms have, the harder the cure.
|
||||
/datum/disease/advance/proc/GenerateCure(var/list/properties = list())
|
||||
if(properties && properties.len)
|
||||
var/res = max(properties["resistance"] - (symptoms.len / 2), 0)
|
||||
var/res = min(max(properties["resistance"] - (symptoms.len / 2), 1), advance_cures.len)
|
||||
//world << "Res = [res]"
|
||||
switch(round(res))
|
||||
// Due to complications, I cannot randomly generate cures or randomly give cures.
|
||||
if(0)
|
||||
cure_id = "nutriment"
|
||||
|
||||
if(1)
|
||||
cure_id = "sodiumchloride"
|
||||
|
||||
if(2)
|
||||
cure_id = "orangejuice"
|
||||
|
||||
if(3)
|
||||
cure_id = "spaceacillin"
|
||||
|
||||
if(4)
|
||||
cure_id = "ethanol"
|
||||
|
||||
if(5)
|
||||
cure_id = "ethylredoxrazine"
|
||||
|
||||
if(6)
|
||||
cure_id = "synaptizine"
|
||||
|
||||
if(7)
|
||||
cure_id = "silver"
|
||||
|
||||
if(8)
|
||||
cure_id = "gold"
|
||||
|
||||
if(9)
|
||||
cure_id = "mindbreaker"
|
||||
|
||||
else
|
||||
cure_id = "plasma"
|
||||
cure_id = advance_cures[res]
|
||||
|
||||
// Get the cure name from the cure_id
|
||||
var/datum/reagent/D = chemical_reagents_list[cure_id]
|
||||
|
||||
@@ -4,8 +4,8 @@
|
||||
Coughing
|
||||
|
||||
Noticable.
|
||||
No Resistance.
|
||||
Doesn't increase stage speed.
|
||||
Little Resistance.
|
||||
Doesn't increase stage speed much.
|
||||
Transmittable.
|
||||
Low Level.
|
||||
|
||||
@@ -19,9 +19,9 @@ BONUS
|
||||
|
||||
name = "Cough"
|
||||
stealth = -1
|
||||
resistance = 0
|
||||
stage_speed = 0
|
||||
transmittable = 2
|
||||
resistance = 3
|
||||
stage_speed = 1
|
||||
transmittable = 1
|
||||
level = 1
|
||||
|
||||
/datum/symptom/cough/Activate(var/datum/disease/advance/A)
|
||||
@@ -33,5 +33,7 @@ BONUS
|
||||
M << "<span notice='notice'>[pick("You swallow excess mucus.", "You lightly cough.")]</span>"
|
||||
else
|
||||
M.emote("cough")
|
||||
M.drop_item()
|
||||
var/obj/item/I = M.get_active_hand()
|
||||
if(I && I.w_class < 3)
|
||||
M.drop_item()
|
||||
return
|
||||
@@ -3,7 +3,7 @@
|
||||
|
||||
Dizziness
|
||||
|
||||
Little bit hidden.
|
||||
Hidden.
|
||||
Lowers resistance considerably.
|
||||
Decreases stage speed.
|
||||
Reduced transmittability
|
||||
@@ -18,7 +18,7 @@ Bonus
|
||||
/datum/symptom/dizzy // Not the egg
|
||||
|
||||
name = "Dizziness"
|
||||
stealth = 1
|
||||
stealth = 2
|
||||
resistance = -2
|
||||
stage_speed = -3
|
||||
transmittable = -1
|
||||
|
||||
@@ -20,7 +20,7 @@ Bonus
|
||||
|
||||
name = "Sneezing"
|
||||
stealth = -2
|
||||
resistance = 2
|
||||
resistance = 3
|
||||
stage_speed = 0
|
||||
transmittable = 3
|
||||
level = 1
|
||||
|
||||
@@ -750,6 +750,8 @@ table tr:first-child th:first-child { border: none;}
|
||||
src.mend(t1)
|
||||
else
|
||||
src.cut(t1)
|
||||
spawn(1)
|
||||
src.updateUsrDialog()
|
||||
else if (href_list["pulse"])
|
||||
var/t1 = text2num(href_list["pulse"])
|
||||
if (!istype(usr.get_active_hand(), /obj/item/device/multitool))
|
||||
@@ -760,6 +762,8 @@ table tr:first-child th:first-child { border: none;}
|
||||
return
|
||||
else
|
||||
src.pulse(t1)
|
||||
spawn(1)
|
||||
src.updateUsrDialog()
|
||||
|
||||
|
||||
|
||||
@@ -960,7 +964,7 @@ table tr:first-child th:first-child { border: none;}
|
||||
mode=AALARM_MODE_SCRUBBING
|
||||
apply_mode()
|
||||
|
||||
src.updateDialog()
|
||||
//src.updateDialog()
|
||||
return
|
||||
|
||||
/obj/machinery/alarm/proc/post_alert(alert_level)
|
||||
|
||||
@@ -20,7 +20,7 @@
|
||||
new /obj/item/weapon/wrench(src)
|
||||
new /obj/item/weapon/weldingtool(src)
|
||||
new /obj/item/weapon/crowbar(src)
|
||||
new /obj/item/device/t_scanner(src)
|
||||
new /obj/item/device/analyzer(src)
|
||||
new /obj/item/weapon/wirecutters(src)
|
||||
|
||||
/obj/item/weapon/storage/toolbox/electrical/New()
|
||||
|
||||
@@ -905,6 +905,9 @@
|
||||
/obj/machinery/power/apc/proc/malfoccupy(var/mob/living/silicon/ai/malf)
|
||||
if(!istype(malf))
|
||||
return
|
||||
if(istype(malf.loc, /obj/machinery/power/apc)) // Already in an APC
|
||||
malf << "<span class='warning'>You must evacuate your current apc first.</span>"
|
||||
return
|
||||
if(src.z != 1)
|
||||
return
|
||||
src.occupant = new /mob/living/silicon/ai(src,malf.laws,null,1)
|
||||
@@ -916,9 +919,11 @@
|
||||
else
|
||||
src.occupant.parent = malf
|
||||
malf.mind.transfer_to(src.occupant)
|
||||
src.occupant.eyeobj.name = "[src.occupant.name] (AI Eye)"
|
||||
if(malf.parent)
|
||||
del(malf)
|
||||
src.occupant.verbs += /mob/living/silicon/ai/proc/corereturn
|
||||
src.occupant.verbs += /datum/game_mode/malfunction/proc/takeover
|
||||
src.occupant.cancel_camera()
|
||||
|
||||
/obj/machinery/power/apc/proc/malfvacate(var/forced)
|
||||
|
||||
@@ -351,7 +351,7 @@ datum
|
||||
if(R.id == "blood" && reagent == "blood")
|
||||
if(R.data && data)
|
||||
|
||||
if(R.data["viruses"] && data["viruses"])
|
||||
if(R.data["viruses"] || data["viruses"])
|
||||
|
||||
var/list/mix1 = R.data["viruses"]
|
||||
var/list/mix2 = data["viruses"]
|
||||
|
||||
@@ -49,6 +49,14 @@ 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 -->
|
||||
|
||||
<div class="commit sansserif">
|
||||
<h2 class="date">19 November 2012</h2>
|
||||
<h3 class="author">Giacom updated:</h3>
|
||||
<ul class="changes bgimages16">
|
||||
<li class="rscadd">Malf AIs can only shunt to APCs from their core. Meaning their core needs to be alive before they can shunt to another APC. Malf AIs can start a takeover inside an APC now.</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="commit sansserif">
|
||||
<h2 class="date">18 November 2012</h2>
|
||||
<h3 class="author">Petethegoat updated:</h3>
|
||||
|
||||
Reference in New Issue
Block a user