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:
giacomand@gmail.com
2012-11-19 18:30:05 +00:00
parent 14ed3f155b
commit 6d05ae60de
9 changed files with 41 additions and 47 deletions

View File

@@ -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]

View File

@@ -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

View File

@@ -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

View File

@@ -20,7 +20,7 @@ Bonus
name = "Sneezing"
stealth = -2
resistance = 2
resistance = 3
stage_speed = 0
transmittable = 3
level = 1

View File

@@ -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)

View File

@@ -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()

View File

@@ -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)

View File

@@ -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"]

View File

@@ -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>