From 5c5cc6a72d8c7c6277655f6183f4c42c3852cb8d Mon Sep 17 00:00:00 2001 From: Incoming Date: Wed, 29 Jan 2014 10:54:00 -0500 Subject: [PATCH 1/2] Repurposes the outdated BE_MONKEY into BE_BLOB and seperates the alien and blob pools so people can prefer to be one or the other or both or neither. An annoucement should be made when this goes live so people are aware they have a new flag to set. Adds a dedicated button on the player panel so admins can easily turn specific players into blobs. --- code/__DEFINES/preferences.dm | 2 +- code/_globalvars/configuration.dm | 2 +- code/game/gamemodes/blob/blob.dm | 2 +- code/game/gamemodes/blob/blobs/core.dm | 6 +++--- code/modules/admin/admin.dm | 3 ++- code/modules/admin/topic.dm | 11 +++++++++++ code/modules/admin/verbs/debug.dm | 16 ++++++++++++++++ code/modules/client/preferences.dm | 4 ++-- code/modules/mob/transform_procs.dm | 9 +++++++++ 9 files changed, 46 insertions(+), 9 deletions(-) diff --git a/code/__DEFINES/preferences.dm b/code/__DEFINES/preferences.dm index 3687556001d..455dfebc30c 100644 --- a/code/__DEFINES/preferences.dm +++ b/code/__DEFINES/preferences.dm @@ -23,5 +23,5 @@ #define BE_ALIEN 64 #define BE_PAI 128 #define BE_CULTIST 256 -#define BE_MONKEY 512 +#define BE_BLOB 512 #define BE_NINJA 1024 diff --git a/code/_globalvars/configuration.dm b/code/_globalvars/configuration.dm index 0c9edf48802..ce5c939ffa6 100644 --- a/code/_globalvars/configuration.dm +++ b/code/_globalvars/configuration.dm @@ -39,6 +39,6 @@ var/list/be_special_flags = list( "Alien Lifeform" = BE_ALIEN, "pAI" = BE_PAI, "Cultist" = BE_CULTIST, - "Monkey" = BE_MONKEY, + "Blob" = BE_BLOB, "Ninja" = BE_NINJA ) diff --git a/code/game/gamemodes/blob/blob.dm b/code/game/gamemodes/blob/blob.dm index ddb3062ecd3..2cf287669c0 100644 --- a/code/game/gamemodes/blob/blob.dm +++ b/code/game/gamemodes/blob/blob.dm @@ -9,7 +9,7 @@ var/list/blob_nodes = list() /datum/game_mode/blob name = "blob" config_tag = "blob" - antag_flag = BE_ALIEN + antag_flag = BE_BLOB required_players = 30 required_enemies = 1 diff --git a/code/game/gamemodes/blob/blobs/core.dm b/code/game/gamemodes/blob/blobs/core.dm index 262058d57b0..271d2b04323 100644 --- a/code/game/gamemodes/blob/blobs/core.dm +++ b/code/game/gamemodes/blob/blobs/core.dm @@ -63,9 +63,9 @@ ..() -/obj/effect/blob/core/proc/create_overmind(var/client/new_overmind) +/obj/effect/blob/core/proc/create_overmind(var/client/new_overmind, var/override_delay) - if(overmind_get_delay > world.time) + if(overmind_get_delay > world.time && !override_delay) return overmind_get_delay = world.time + 300 // 30 seconds @@ -77,7 +77,7 @@ var/list/candidates = list() if(!new_overmind) - candidates = get_candidates(BE_ALIEN) + candidates = get_candidates(BE_BLOB) if(candidates.len) C = pick(candidates) else diff --git a/code/modules/admin/admin.dm b/code/modules/admin/admin.dm index 3e41725b4aa..5c548b97e5a 100644 --- a/code/modules/admin/admin.dm +++ b/code/modules/admin/admin.dm @@ -103,7 +103,8 @@ var/global/floorIsLava = 0 body += "Make AI | " body += "Make Robot | " body += "Make Alien | " - body += "Make Slime " + body += "Make Slime | " + body += "Make Blob | " //Simple Animals if(isanimal(M)) diff --git a/code/modules/admin/topic.dm b/code/modules/admin/topic.dm index 83d4e62a2c9..c5ec32ae72e 100644 --- a/code/modules/admin/topic.dm +++ b/code/modules/admin/topic.dm @@ -1132,6 +1132,17 @@ usr.client.cmd_admin_slimeize(H) + else if(href_list["makeblob"]) + if(!check_rights(R_SPAWN)) return + + var/mob/living/carbon/human/H = locate(href_list["makeblob"]) + if(!istype(H)) + usr << "This can only be used on instances of type /mob/living/carbon/human" + return + + usr.client.cmd_admin_blobize(H) + + else if(href_list["makerobot"]) if(!check_rights(R_SPAWN)) return diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 01ca93078cf..58c4c5b070e 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -165,6 +165,22 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that else alert("Invalid mob") +/client/proc/cmd_admin_blobize(var/mob/M in mob_list) + set category = "Fun" + set name = "Make Blob" + + if(!ticker) + alert("Wait until the game starts") + return + if(istype(M, /mob/living/carbon/human)) + log_admin("[key_name(src)] has blobized [M.key].") + spawn(10) + M:Blobize() + + else + alert("Invalid mob") + + /client/proc/cmd_admin_animalize(var/mob/M in mob_list) set category = "Fun" set name = "Make Simple Animal" diff --git a/code/modules/client/preferences.dm b/code/modules/client/preferences.dm index 583d2769276..333f41f8534 100644 --- a/code/modules/client/preferences.dm +++ b/code/modules/client/preferences.dm @@ -12,10 +12,10 @@ var/global/list/special_roles = list( //keep synced with the defines BE_* in set "wizard" = IS_MODE_COMPILED("wizard"), // 3 "malf AI" = IS_MODE_COMPILED("malfunction"), // 4 "revolutionary" = IS_MODE_COMPILED("revolution"), // 5 - "alien lifeform" = 1, //always show // 6 + "alien" = 1, //always show // 6 "pAI candidate" = 1, // -- TLE // 7 "cultist" = IS_MODE_COMPILED("cult"), // 8 - "infested monkey" = IS_MODE_COMPILED("monkey"), // 9 + "blob" = IS_MODE_COMPILED("blob"), // 9 ) diff --git a/code/modules/mob/transform_procs.dm b/code/modules/mob/transform_procs.dm index b8281e65b0e..fa82e449785 100644 --- a/code/modules/mob/transform_procs.dm +++ b/code/modules/mob/transform_procs.dm @@ -371,6 +371,15 @@ . = new_slime del(src) +/mob/living/carbon/human/proc/Blobize() + if (notransform) + return + var/obj/effect/blob/core/new_blob = new /obj/effect/blob/core (loc) + new_blob.create_overmind(src.client , 1) + gib(src) + + + /mob/living/carbon/human/proc/corgize() if (notransform) return From 2320db2353f79d5c2a3a8c80b0537c600afec449 Mon Sep 17 00:00:00 2001 From: Incoming Date: Thu, 30 Jan 2014 10:50:32 -0500 Subject: [PATCH 2/2] Remove Colons From Premises --- code/modules/admin/verbs/debug.dm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/code/modules/admin/verbs/debug.dm b/code/modules/admin/verbs/debug.dm index 58c4c5b070e..7907510ae56 100644 --- a/code/modules/admin/verbs/debug.dm +++ b/code/modules/admin/verbs/debug.dm @@ -159,8 +159,9 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that return if(istype(M, /mob/living/carbon/human)) log_admin("[key_name(src)] has robotized [M.key].") + var/mob/living/carbon/human/H = M spawn(10) - M:Robotize() + H.Robotize() else alert("Invalid mob") @@ -174,8 +175,9 @@ But you can call procs that are of type /mob/living/carbon/human/proc/ for that return if(istype(M, /mob/living/carbon/human)) log_admin("[key_name(src)] has blobized [M.key].") + var/mob/living/carbon/human/H = M spawn(10) - M:Blobize() + H.Blobize() else alert("Invalid mob")