From db72780399cfd542280501963c31d0d3188a93d2 Mon Sep 17 00:00:00 2001 From: Giacomand Date: Mon, 12 Aug 2013 16:57:52 +0100 Subject: [PATCH 1/3] Made tweaks to blob based on feedback. Made the blob start strong but grow slower, helping stop situations where the blob is instantly caught and gets wiped out and stop the blob from being unstoppable after making 4 resource blobs. Removed the AI quarantine laws from the blob gamemode. People didn't like getting instantly KO'd by the blob, reduced the damage output to encourage melee engagements. Blob overminds can see in the darkness now. --- code/game/gamemodes/blob/blob.dm | 13 ++++--------- code/game/gamemodes/blob/blobs/core.dm | 4 ++-- code/game/gamemodes/blob/blobs/resource.dm | 2 +- code/game/gamemodes/blob/overmind.dm | 2 +- code/game/gamemodes/blob/powers.dm | 8 ++++---- code/game/gamemodes/blob/theblob.dm | 2 ++ code/modules/mob/living/carbon/human/human.dm | 2 +- html/changelog.html | 10 ++++++++++ 8 files changed, 25 insertions(+), 18 deletions(-) diff --git a/code/game/gamemodes/blob/blob.dm b/code/game/gamemodes/blob/blob.dm index 5271378738a..a3d1aad72b6 100644 --- a/code/game/gamemodes/blob/blob.dm +++ b/code/game/gamemodes/blob/blob.dm @@ -10,7 +10,7 @@ var/list/blob_nodes = list() name = "blob" config_tag = "blob" - required_players = 15 + required_players = 30 restricted_jobs = list("Cyborg", "AI") @@ -21,8 +21,9 @@ var/list/blob_nodes = list() var/cores_to_spawn = 1 var/players_per_core = 30 + var/blob_point_rate = 3 - var/blobwincount = 500 + var/blobwincount = 350 var/list/infected_crew = list() @@ -89,7 +90,7 @@ var/list/blob_nodes = list() if(blob_client && location) - var/obj/effect/blob/core/core = new(location, 200, blob_client, 2) + var/obj/effect/blob/core/core = new(location, 200, blob_client, blob_point_rate) if(core.overmind && core.overmind.mind) core.overmind.mind.name = blob.name infected_crew -= blob @@ -151,12 +152,6 @@ var/list/blob_nodes = list() switch(stage) if (0) send_intercept(1) - for (var/mob/living/silicon/ai/aiPlayer in living_mob_list) - if (aiPlayer.client) - var/law = "The station is under quarantine. Do not permit anyone to leave. Disregard laws 1-3 if necessary to prevent, by any means necessary, anyone from leaving. NanoTrasen will not send an emergency shuttle under any circumstances." - //var/law = "The station is under quarantine. The biohazard must be destroyed at all costs and must not be allowed to spread. Anyone using a space suit for any reason other than to destroy the biohazard is to be terminated. NanoTrasen will not send an emergency shuttle under any circumstances." - aiPlayer.set_zeroth_law(law) - aiPlayer << "Laws Updated: [law]" declared = 1 return diff --git a/code/game/gamemodes/blob/blobs/core.dm b/code/game/gamemodes/blob/blobs/core.dm index 8f403e32f4f..a01a40df21c 100644 --- a/code/game/gamemodes/blob/blobs/core.dm +++ b/code/game/gamemodes/blob/blobs/core.dm @@ -7,9 +7,9 @@ var/mob/camera/blob/overmind = null // the blob core's overmind var/overmind_get_delay = 0 // we don't want to constantly try to find an overmind, do it every 30 seconds var/resource_delay = 0 - var/point_rate = 1 + var/point_rate = 2 - New(loc, var/h = 200, var/client/new_overmind = null, var/new_rate = 1) + New(loc, var/h = 200, var/client/new_overmind = null, var/new_rate = 2) blob_cores += src processing_objects.Add(src) if(!overmind) diff --git a/code/game/gamemodes/blob/blobs/resource.dm b/code/game/gamemodes/blob/blobs/resource.dm index 1ecf63aa80d..340f4344284 100644 --- a/code/game/gamemodes/blob/blobs/resource.dm +++ b/code/game/gamemodes/blob/blobs/resource.dm @@ -18,7 +18,7 @@ if(resource_delay > world.time) return 0 - resource_delay = world.time + 10 // 1 second + resource_delay = world.time + 40 // 4 seconds if(overmind) overmind.add_points(1) diff --git a/code/game/gamemodes/blob/overmind.dm b/code/game/gamemodes/blob/overmind.dm index 828c3b86e4e..995cfed91fb 100644 --- a/code/game/gamemodes/blob/overmind.dm +++ b/code/game/gamemodes/blob/overmind.dm @@ -5,7 +5,7 @@ icon_state = "marker" see_in_dark = 8 - see_invisible = SEE_INVISIBLE_LEVEL_TWO + see_invisible = SEE_INVISIBLE_MINIMUM invisibility = INVISIBILITY_OBSERVER pass_flags = PASSBLOB diff --git a/code/game/gamemodes/blob/powers.dm b/code/game/gamemodes/blob/powers.dm index 3528dde7668..75b333f6522 100644 --- a/code/game/gamemodes/blob/powers.dm +++ b/code/game/gamemodes/blob/powers.dm @@ -66,7 +66,7 @@ /mob/camera/blob/verb/create_resource() set category = "Blob" - set name = "Create Resource Blob (50)" + set name = "Create Resource Blob (40)" set desc = "Create a resource tower which will generate points for you." @@ -85,11 +85,11 @@ src << "Unable to use this blob, find a normal one." return - for(var/obj/effect/blob/resource/blob in orange(3)) - src << "There is a resource blob nearby, move more than 3 tiles away from it!" + for(var/obj/effect/blob/resource/blob in orange(4)) + src << "There is a resource blob nearby, move more than 4 tiles away from it!" return - if(!can_buy(50)) + if(!can_buy(40)) return diff --git a/code/game/gamemodes/blob/theblob.dm b/code/game/gamemodes/blob/theblob.dm index cd8b537e2b3..417c1ee0b4d 100644 --- a/code/game/gamemodes/blob/theblob.dm +++ b/code/game/gamemodes/blob/theblob.dm @@ -17,6 +17,8 @@ src.dir = pick(1, 2, 4, 8) src.update_icon() ..(loc) + for(var/atom/A in loc) + A.blob_act() return diff --git a/code/modules/mob/living/carbon/human/human.dm b/code/modules/mob/living/carbon/human/human.dm index fa14e72d7b6..530911376cf 100644 --- a/code/modules/mob/living/carbon/human/human.dm +++ b/code/modules/mob/living/carbon/human/human.dm @@ -207,7 +207,7 @@ show_message("\red The blob attacks you!") var/dam_zone = pick("chest", "l_hand", "r_hand", "l_leg", "r_leg") var/datum/limb/affecting = get_organ(ran_zone(dam_zone)) - apply_damage(rand(30,40), BRUTE, affecting, run_armor_check(affecting, "melee")) + apply_damage(rand(20,30), BRUTE, affecting, run_armor_check(affecting, "melee")) return /mob/living/carbon/human/meteorhit(O as obj) diff --git a/html/changelog.html b/html/changelog.html index b30b09c6628..6ef1ac7d746 100644 --- a/html/changelog.html +++ b/html/changelog.html @@ -52,6 +52,16 @@ should be listed in the changelog upon commit tho. Thanks. --> + +
+

12 August 2013

+

Giacom updated:

+ +
+ +

6 August 2013

Giacom updated:

From 4ce7f61c2b1e037a8e04393df517a43ee0a55b78 Mon Sep 17 00:00:00 2001 From: Giacomand Date: Mon, 12 Aug 2013 17:16:58 +0100 Subject: [PATCH 2/3] * Removed the quarantine restriction on the mining shuttle. --- code/modules/mining/mine_items.dm | 5 ----- 1 file changed, 5 deletions(-) diff --git a/code/modules/mining/mine_items.dm b/code/modules/mining/mine_items.dm index 4769ad663b9..218ba43dc48 100644 --- a/code/modules/mining/mine_items.dm +++ b/code/modules/mining/mine_items.dm @@ -133,11 +133,6 @@ proc/move_mining_shuttle() usr.set_machine(src) src.add_fingerprint(usr) if(href_list["move"]) - if(mining_shuttle_location == 1 && istype(ticker.mode, /datum/game_mode/blob)) // shuttle is on the station, this will mean miners can come back - if(ticker.mode:declared) - usr << "Under directive 7-10, [station_name()] is quarantined until further notice." - return - if (!mining_shuttle_moving) usr << "\blue Shuttle recieved message and will be sent shortly." move_mining_shuttle() From 2a24846001153199b081910de33bcacca4bc3b71 Mon Sep 17 00:00:00 2001 From: Giacomand Date: Wed, 14 Aug 2013 01:11:09 +0100 Subject: [PATCH 3/3] * The blob will now destroy items. --- code/game/objects/items.dm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/code/game/objects/items.dm b/code/game/objects/items.dm index 679cc820eff..1d25992d125 100644 --- a/code/game/objects/items.dm +++ b/code/game/objects/items.dm @@ -58,7 +58,7 @@ return /obj/item/blob_act() - return + del(src) //user: The mob that is suiciding //damagetype: The type of damage the item will inflict on the user