From aa9b0a3a481fb1ea6d39e297c640804902619212 Mon Sep 17 00:00:00 2001 From: Rob Nelson Date: Wed, 19 Mar 2014 23:54:17 -0700 Subject: [PATCH] Nerf hulk. Conflicts: baystation12.dme code/datums/spells/genetic.dm --- baystation12.dme | 59 +---------------- code/datums/spells/genetic.dm | 5 +- code/game/dna/genes/goon_disabilities.dm | 3 +- code/game/dna/genes/powers.dm | 5 +- code/game/dna/genes/vg_powers.dm | 83 ++++++++++++++++++++++++ code/game/machinery/wishgranter.dm | 2 +- 6 files changed, 94 insertions(+), 63 deletions(-) create mode 100644 code/game/dna/genes/vg_powers.dm diff --git a/baystation12.dme b/baystation12.dme index b920ae653d4..21c244b2280 100644 --- a/baystation12.dme +++ b/baystation12.dme @@ -5,64 +5,6 @@ // END_INTERNALS // BEGIN_FILE_DIR #define FILE_DIR . -#define FILE_DIR "code" -#define FILE_DIR "code/TriDimension" -#define FILE_DIR "code/WorkInProgress" -#define FILE_DIR "code/WorkInProgress/Cael_Aislinn" -#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Jungle" -#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Rust" -#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/ShieldGen" -#define FILE_DIR "code/WorkInProgress/Cael_Aislinn/Supermatter" -#define FILE_DIR "code/WorkInProgress/Susan" -#define FILE_DIR "html" -#define FILE_DIR "icons" -#define FILE_DIR "icons/48x48" -#define FILE_DIR "icons/ass" -#define FILE_DIR "icons/effects" -#define FILE_DIR "icons/mecha" -#define FILE_DIR "icons/misc" -#define FILE_DIR "icons/mob" -#define FILE_DIR "icons/mob/human_races" -#define FILE_DIR "icons/mob/otherHuman" -#define FILE_DIR "icons/NTOS" -#define FILE_DIR "icons/obj" -#define FILE_DIR "icons/obj/assemblies" -#define FILE_DIR "icons/obj/atmospherics" -#define FILE_DIR "icons/obj/clothing" -#define FILE_DIR "icons/obj/doors" -#define FILE_DIR "icons/obj/flora" -#define FILE_DIR "icons/obj/machines" -#define FILE_DIR "icons/obj/pipes" -#define FILE_DIR "icons/obj/power_cond" -#define FILE_DIR "icons/pda_icons" -#define FILE_DIR "icons/spideros_icons" -#define FILE_DIR "icons/stamp_icons" -#define FILE_DIR "icons/Testing" -#define FILE_DIR "icons/turf" -#define FILE_DIR "icons/vending_icons" -#define FILE_DIR "nano" -#define FILE_DIR "nano/images" -#define FILE_DIR "sound" -#define FILE_DIR "sound/AI" -#define FILE_DIR "sound/ambience" -#define FILE_DIR "sound/effects" -#define FILE_DIR "sound/effects/turret" -#define FILE_DIR "sound/effects/wind" -#define FILE_DIR "sound/hallucinations" -#define FILE_DIR "sound/items" -#define FILE_DIR "sound/machines" -#define FILE_DIR "sound/mecha" -#define FILE_DIR "sound/misc" -#define FILE_DIR "sound/music" -#define FILE_DIR "sound/piano" -#define FILE_DIR "sound/turntable" -#define FILE_DIR "sound/violin" -#define FILE_DIR "sound/voice" -#define FILE_DIR "sound/voice/complionator" -#define FILE_DIR "sound/voice/Serithi" -#define FILE_DIR "sound/vox" -#define FILE_DIR "sound/vox_fem" -#define FILE_DIR "sound/weapons" // END_FILE_DIR // BEGIN_PREFERENCES #define DEBUG @@ -272,6 +214,7 @@ #include "code\game\dna\genes\goon_powers.dm" #include "code\game\dna\genes\monkey.dm" #include "code\game\dna\genes\powers.dm" +#include "code\game\dna\genes\vg_powers.dm" #include "code\game\gamemodes\events.dm" #include "code\game\gamemodes\factions.dm" #include "code\game\gamemodes\game_mode.dm" diff --git a/code/datums/spells/genetic.dm b/code/datums/spells/genetic.dm index e0d9b2d5b80..c697ea9bc47 100644 --- a/code/datums/spells/genetic.dm +++ b/code/datums/spells/genetic.dm @@ -18,7 +18,10 @@ /obj/effect/proc_holder/spell/targeted/genetic/cast(list/targets) for(var/mob/living/target in targets) - target.mutations.Add(mutations) + for(var/x in mutations) + target.mutations.Add(x) + if(x == M_HULK && ishuman(target)) + target:hulk_time=world.time + duration target.disabilities |= disabilities target.update_mutations() //update target's mutation overlays spawn(duration) diff --git a/code/game/dna/genes/goon_disabilities.dm b/code/game/dna/genes/goon_disabilities.dm index c3545d0948b..7a9b3e75186 100644 --- a/code/game/dna/genes/goon_disabilities.dm +++ b/code/game/dna/genes/goon_disabilities.dm @@ -132,6 +132,7 @@ block=CHAVBLOCK OnSay(var/mob/M, var/message) + // THIS ENTIRE THING BEGS FOR REGEX message = replacetext(message,"dick","prat") message = replacetext(message,"comdom","knob'ead") message = replacetext(message,"looking at","gawpin' at") @@ -146,7 +147,7 @@ message = replacetext(message,"i don't know","wot mate") message = replacetext(message,"no","naw") message = replacetext(message,"robust","chin") - message = replacetext(message,"hi","how what how") + message = replacetext(message," hi ","how what how") message = replacetext(message,"hello","sup bruv") message = replacetext(message,"kill","bang") message = replacetext(message,"murder","bang") diff --git a/code/game/dna/genes/powers.dm b/code/game/dna/genes/powers.dm index b1d2c05a1e2..57e0680b933 100644 --- a/code/game/dna/genes/powers.dm +++ b/code/game/dna/genes/powers.dm @@ -138,6 +138,7 @@ ..(M,connected,flags) M.pass_flags |= 1 +/* OLD HULK BEHAVIOR /datum/dna/gene/basic/hulk name="Hulk" activation_messages=list("Your muscles hurt.") @@ -147,7 +148,7 @@ block=HULKBLOCK can_activate(var/mob/M,var/flags) - // Can't be big and small. + // Can't be big AND small. if(M_DWARF in M.mutations) return 0 return ..(M,flags) @@ -169,7 +170,7 @@ M << "\red You suddenly feel very weak." M.Weaken(3) M.emote("collapse") - +*/ /datum/dna/gene/basic/xray name="X-Ray Vision" activation_messages=list("The walls suddenly disappear.") diff --git a/code/game/dna/genes/vg_powers.dm b/code/game/dna/genes/vg_powers.dm new file mode 100644 index 00000000000..bc85838b07f --- /dev/null +++ b/code/game/dna/genes/vg_powers.dm @@ -0,0 +1,83 @@ +/* +This is /vg/'s nerf for hulk. Feel free to steal it. + +Obviously, requires DNA2. +*/ + +// When hulk was first applied (world.time). +/mob/living/carbon/human/var/hulk_time=0 + +// In decaseconds. +#define HULK_DURATION 300 +#define HULK_COOLDOWN 600 + +/datum/dna/gene/basic/grant_spell/hulk + name = "Hulk" + desc = "Allows the subject to become the motherfucking Hulk." + activation_messages = list("Your muscles hurt.") + deactivation_messages = list("Your muscles quit tensing.") + + spelltype = /obj/effect/proc_holder/spell/targeted/hulk + + New() + ..() + block = HULKBLOCK + + can_activate(var/mob/M,var/flags) + // Can't be big AND small. + if(M_DWARF in M.mutations) + return 0 + return ..(M,flags) + + OnDrawUnderlays(var/mob/M,var/g,var/fat) + if(M_HULK in M.mutations) + if(fat) + return "hulk_[fat]_s" + else + return "hulk_[g]_s" + return 0 + + OnMobLife(var/mob/living/carbon/human/M) + if(!istype(M)) return + if(M_HULK in M.mutations) + var/timeleft=M.hulk_time - world.time + if(M.health <= 25 || timeleft <= 0) + M.hulk_time=0 // Just to be sure. + M.mutations.Remove(M_HULK) + //M.dna.SetSEState(HULKBLOCK,0) + M.update_mutations() //update our mutation overlays + M.update_body() + M << "\red You suddenly feel very weak." + M.Weaken(3) + M.emote("collapse") + +/obj/effect/proc_holder/spell/targeted/hulk + name = "Hulk Out" + panel = "Mutant Powers" + range = -1 + include_user = 1 + + charge_type = "recharge" + charge_max = HULK_COOLDOWN + + clothes_req = 0 + stat_allowed = 0 + + invocation_type = "none" + +/obj/effect/proc_holder/spell/targeted/hulk/New() + desc = "Get mad! For [HULK_DURATION/10] seconds, anyway." + ..() + +/obj/effect/proc_holder/spell/targeted/hulk/cast(list/targets) + if (istype(usr.loc,/mob/)) + usr << "\red You can't hulk out right now!" + return + var/mob/living/carbon/human/M=usr + M.hulk_time = world.time + HULK_DURATION + M.mutations.Add(M_HULK) + M.update_mutations() //update our mutation overlays + M.update_body() + //M.say(pick("",";")+pick("HULK MAD","YOU MADE HULK ANGRY")) // Just a note to security. + message_admins("[key_name(usr)] has hulked out! ([formatJumpTo(usr)])") + return \ No newline at end of file diff --git a/code/game/machinery/wishgranter.dm b/code/game/machinery/wishgranter.dm index e8871972626..ac2986f18a2 100644 --- a/code/game/machinery/wishgranter.dm +++ b/code/game/machinery/wishgranter.dm @@ -37,7 +37,7 @@ insisting = 0 if (!(M_HULK in user.mutations)) - user.mutations.Add(M_HULK) + user.dna.SetSEState(HULKBLOCK,1) if (!(M_LASER in user.mutations)) user.mutations.Add(M_LASER)