From 93ef7b83d88af85a6a8a15c9171d0b879062057c Mon Sep 17 00:00:00 2001 From: Cael_Aislinn Date: Wed, 20 Feb 2013 20:36:16 +1000 Subject: [PATCH] replaced infestation slimes with spiderlings (with 0% chance to grow into giant spiders), reduced spiderling noisiness, made them less jittery (easier to squish) Signed-off-by: Cael_Aislinn --- code/game/objects/effects/spiders.dm | 26 +++++++++++++++----------- code/modules/events/infestation.dm | 21 ++++++++++++--------- 2 files changed, 27 insertions(+), 20 deletions(-) diff --git a/code/game/objects/effects/spiders.dm b/code/game/objects/effects/spiders.dm index d357740a6f..68f57112cb 100644 --- a/code/game/objects/effects/spiders.dm +++ b/code/game/objects/effects/spiders.dm @@ -95,15 +95,16 @@ anchored = 0 layer = 2.7 health = 3 - var/amount_grown = 0 + var/amount_grown = -1 var/obj/machinery/atmospherics/unary/vent_pump/entry_vent var/travelling_in_vent = 0 New() pixel_x = rand(6,-6) pixel_y = rand(6,-6) + processing_objects.Add(src) //50% chance to grow up if(prob(50)) - processing_objects.Add(src) + amount_grown = 1 /obj/effect/spider/spiderling/Bump(atom/user) if(istype(user, /obj/structure/table)) @@ -134,8 +135,8 @@ entry_vent = null return var/obj/machinery/atmospherics/unary/vent_pump/exit_vent = pick(vents) - if(prob(50)) - src.visible_message("[src] scrambles into the ventillation ducts!") + /*if(prob(50)) + src.visible_message("[src] scrambles into the ventillation ducts!")*/ spawn(rand(20,60)) loc = exit_vent @@ -164,21 +165,24 @@ entry_vent = null //================= - else if(prob(33)) - var/list/nearby = oview(10, src) + else if(prob(25)) + var/list/nearby = oview(5, src) if(nearby.len) var/target_atom = pick(nearby) - walk_to(src, target_atom) - if(prob(40)) + walk_to(src, target_atom, 5) + if(prob(25)) src.visible_message("\blue \the [src] skitters[pick(" away"," around","")].") - else if(prob(10)) + else if(prob(5)) //ventcrawl! for(var/obj/machinery/atmospherics/unary/vent_pump/v in view(7,src)) if(!v.welded) entry_vent = v - walk_to(src, entry_vent, 1) + walk_to(src, entry_vent, 5) break - if(isturf(loc)) + + if(prob(1)) + src.visible_message("\blue \the [src] chitters.") + if(isturf(loc) && amount_grown > 0) amount_grown += rand(0,2) if(amount_grown >= 100) var/spawn_type = pick(typesof(/mob/living/simple_animal/hostile/giant_spider)) diff --git a/code/modules/events/infestation.dm b/code/modules/events/infestation.dm index 04dc7d46a1..8cc42d32fd 100644 --- a/code/modules/events/infestation.dm +++ b/code/modules/events/infestation.dm @@ -11,7 +11,7 @@ #define VERM_MICE 0 #define VERM_LIZARDS 1 -#define VERM_SLIMES 2 +#define VERM_SPIDERS 2 /datum/event/infestation announceWhen = 10 @@ -81,20 +81,23 @@ spawn_types = list(/mob/living/simple_animal/lizard) max_number = 6 vermstring = "lizards" - if(VERM_SLIMES) - spawn_types = list(/mob/living/carbon/slime) - max_number = 3 - vermstring = "slimes" + if(VERM_SPIDERS) + spawn_types = list(/obj/effect/spider/spiderling) + max_number = 6 + vermstring = "spiders" spawn(0) var/num = rand(2,max_number) while(turfs.len > 0 && num > 0) var/turf/simulated/floor/T = pick(turfs) turfs.Remove(T) - var/spawn_type = pick(spawn_types) - new spawn_type(T) num-- - //world << "[vermstring] spawned in [spawn_area_type]" + if(vermin == VERM_SPIDERS) + var/obj/effect/spider/spiderling/S = new(T) + S.amount_grown = -1 + else + var/spawn_type = pick(spawn_types) + new spawn_type(T) /datum/event/infestation/announce() command_alert("Bioscans indicate that [vermstring] have been breeding in [locstring]. Clear them out, before this starts to affect productivity.", "Vermin infestation") @@ -111,4 +114,4 @@ #undef VERM_MICE #undef VERM_LIZARDS -#undef VERM_SLIMES \ No newline at end of file +#undef VERM_SPIDERS \ No newline at end of file