From ba4e25b97d00e796beb28a1bdf4de9e30639887e Mon Sep 17 00:00:00 2001 From: "giacomand@gmail.com" Date: Wed, 21 Nov 2012 02:01:39 +0000 Subject: [PATCH] -Added some new helper procs. -Used some helper procs in my advance diseases. git-svn-id: http://tgstation13.googlecode.com/svn/trunk@5142 316c924e-a436-60f5-8080-3fe189b3f50e --- code/__HELPERS/maths.dm | 3 +++ code/__HELPERS/text.dm | 8 +++++++- code/datums/diseases/advance/advance.dm | 8 ++++---- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/code/__HELPERS/maths.dm b/code/__HELPERS/maths.dm index a5f8e4625c2..7e31a673790 100644 --- a/code/__HELPERS/maths.dm +++ b/code/__HELPERS/maths.dm @@ -54,6 +54,9 @@ var/const/Sqrt2 = 1.41421356 /proc/IsOdd(x) return !IsEven(x) +/proc/IsMultiple(x, y) + return x % y == 0 + // Least Common Multiple /proc/Lcm(a, b) return abs(a) / Gcd(a, b) * abs(b) diff --git a/code/__HELPERS/text.dm b/code/__HELPERS/text.dm index 0134bd6de8b..da9d8b34bce 100644 --- a/code/__HELPERS/text.dm +++ b/code/__HELPERS/text.dm @@ -323,4 +323,10 @@ var/a = copytext(text,i,i+1) if(a == character) count++ - return count \ No newline at end of file + return count + +/proc/reverse_text(var/text = "") + var/new_text = "" + for(var/i = length(text); i > 0; i--) + new_text += copytext(text, i, i+1) + return new_text \ No newline at end of file diff --git a/code/datums/diseases/advance/advance.dm b/code/datums/diseases/advance/advance.dm index efa2a3876df..106ee983a2d 100644 --- a/code/datums/diseases/advance/advance.dm +++ b/code/datums/diseases/advance/advance.dm @@ -209,9 +209,9 @@ var/list/advance_cures = list( 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. - 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 + SetSpread(Clamp(properties["transmittable"] - symptoms.len, BLOOD, AIRBORNE)) + permeability_mod = max(Ceiling(0.5 * properties["transmittable"]), 1) + cure_chance = 10 - Clamp(properties["resistance"], -5, 5) // can be between 5 and 15 stage_prob = max(properties["stage_rate"], 2) SetSeverity(properties["severity"]) GenerateCure(properties) @@ -260,7 +260,7 @@ var/list/advance_cures = 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 = min(max(properties["resistance"] - (symptoms.len / 2), 1), advance_cures.len) + var/res = Clamp(properties["resistance"] - (symptoms.len / 2), 1, advance_cures.len) //world << "Res = [res]" cure_id = advance_cures[res]