From 49a70daba0b285aef268f08f46a728b8aa0c3d26 Mon Sep 17 00:00:00 2001 From: Terilia Date: Sun, 27 Oct 2019 05:26:34 +0100 Subject: [PATCH] A red headcrab day (#12396) --- code/game/objects/structures/spawner.dm | 14 +- code/modules/events/event_container.dm | 3 +- code/modules/events/headcrabs.dm | 137 +++--------------- .../living/simple_animal/hostile/headcrab.dm | 41 ++++-- icons/mob/headcrab.dmi | Bin 11944 -> 15147 bytes 5 files changed, 63 insertions(+), 132 deletions(-) diff --git a/code/game/objects/structures/spawner.dm b/code/game/objects/structures/spawner.dm index f960a7443ee..b3b3157c391 100644 --- a/code/game/objects/structures/spawner.dm +++ b/code/game/objects/structures/spawner.dm @@ -85,4 +85,16 @@ /obj/structure/spawner/mining/basilisk name = "basilisk den" desc = "A den housing a nest of basilisks, bring a coat." - mob_types = list(/mob/living/simple_animal/hostile/asteroid/basilisk) \ No newline at end of file + mob_types = list(/mob/living/simple_animal/hostile/asteroid/basilisk) + +/obj/structure/spawner/headcrab + name = "headcrab nest" + desc = "A living nest for headcrabs. It is moving ominously." + icon_state = "headcrab_nest" + icon = 'icons/mob/headcrab.dmi' + max_integrity = 200 + max_mobs = 15 + spawn_time = 600 + mob_types = list(/mob/living/simple_animal/hostile/headcrab, /mob/living/simple_animal/hostile/headcrab/fast, /mob/living/simple_animal/hostile/headcrab/poison) + spawn_text = "crawls out of" + faction = list("hostile") \ No newline at end of file diff --git a/code/modules/events/event_container.dm b/code/modules/events/event_container.dm index 3f86b88924c..1c99d2d1bc0 100644 --- a/code/modules/events/event_container.dm +++ b/code/modules/events/event_container.dm @@ -181,7 +181,8 @@ var/list/event_last_fired = list() new /datum/event_meta(EVENT_LEVEL_MODERATE, "Revenant", /datum/event/revenant, 150), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Swarmer Spawn", /datum/event/spawn_swarmer, 150, is_one_shot = 1), new /datum/event_meta(EVENT_LEVEL_MODERATE, "Morph Spawn", /datum/event/spawn_morph, 40, is_one_shot = 1), - new /datum/event_meta(EVENT_LEVEL_MODERATE, "Disease Outbreak", /datum/event/disease_outbreak, 0, list(ASSIGNMENT_MEDICAL = 150), 1) + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Disease Outbreak", /datum/event/disease_outbreak, 0, list(ASSIGNMENT_MEDICAL = 150), 1), + new /datum/event_meta(EVENT_LEVEL_MODERATE, "Headcrabs", /datum/event/headcrabs, 0, list(ASSIGNMENT_SECURITY = 20)) ) /datum/event_container/major diff --git a/code/modules/events/headcrabs.dm b/code/modules/events/headcrabs.dm index ced8562c96c..b1eef858d7e 100644 --- a/code/modules/events/headcrabs.dm +++ b/code/modules/events/headcrabs.dm @@ -1,114 +1,29 @@ -#define LOC_ATMOS_CONTROL 0 -#define LOC_FPMAINT 1 -#define LOC_FPMAINT2 2 -#define LOC_FSMAINT 3 -#define LOC_FSMAINT2 4 -#define LOC_ASMAINT 5 -#define LOC_ASMAINT2 6 -#define LOC_APMAINT 7 -#define LOC_MAINTCENTRAL 8 -#define LOC_FORE 9 -#define LOC_STARBOARD 10 -#define LOC_PORT 11 -#define LOC_AFT 12 -#define LOC_STORAGE 13 -#define LOC_DISPOSAL 14 -#define LOC_GENETICS 15 -#define LOC_ELECTRICAL 16 -#define LOC_ABANDONEDBAR 17 -#define LOC_ELECTRICAL_SHOP 18 -#define LOC_GAMBLING_DEN 19 - #define HEADCRAB_NORMAL 0 #define HEADCRAB_FASTMIX 1 #define HEADCRAB_FAST 2 #define HEADCRAB_POISONMIX 3 #define HEADCRAB_POISON 4 -/*#define HEADCRAB_CLOWN 5 */ //Planned for the future. maybe +#define HEADCRAB_SPAWNER 5 /datum/event/headcrabs announceWhen = 10 endWhen = 11 - var/location var/locstring - var/headcrab + var/headcrab_type /datum/event/headcrabs/start() - - location = rand(0,19) + var/list/availableareas = list() + for(var/area/maintenance/A in world) + availableareas += A + var/area/randomarea = pick(availableareas) var/list/turf/simulated/floor/turfs = list() - var/spawn_area_type - switch(location) - if(LOC_ATMOS_CONTROL) - spawn_area_type = /area/maintenance/atmos_control - locstring = "Atmospherics Maintenance" - if(LOC_FPMAINT) - spawn_area_type = /area/maintenance/fpmaint - locstring = "EVA Maintenance" - if(LOC_FPMAINT2) - spawn_area_type = /area/maintenance/fpmaint2 - locstring = "Arrivals North Maintenance" - if(LOC_FSMAINT) - spawn_area_type = /area/maintenance/fsmaint - locstring = "Dormitory Maintenance" - if(LOC_FSMAINT2) - spawn_area_type = /area/maintenance/fsmaint2 - locstring = "Bar Maintenance" - if(LOC_ASMAINT) - spawn_area_type = /area/maintenance/asmaint - locstring = "Medbay Maintenance" - if(LOC_ASMAINT2) - spawn_area_type = /area/maintenance/asmaint2 - locstring = "Science Maintenance" - if(LOC_APMAINT) - spawn_area_type = /area/maintenance/apmaint - locstring = "Cargo Maintenance" - if(LOC_MAINTCENTRAL) - spawn_area_type = /area/maintenance/maintcentral - locstring = "Bridge Maintenance" - if(LOC_FORE) - spawn_area_type = /area/maintenance/fore - locstring = "Fore Maintenance" - if(LOC_STARBOARD) - spawn_area_type = /area/maintenance/starboard - locstring = "Starboard Maintenance" - if(LOC_PORT) - spawn_area_type = /area/maintenance/port - locstring = "Locker Room Maintenance" - if(LOC_AFT) - spawn_area_type = /area/maintenance/aft - locstring = "Engineering Maintenance" - if(LOC_STORAGE) - spawn_area_type = /area/maintenance/storage - locstring = "Atmospherics Maintenance" - if(LOC_DISPOSAL) - spawn_area_type = /area/maintenance/disposal - locstring = "Waste Disposal" - if(LOC_GENETICS) - spawn_area_type = /area/maintenance/genetics - locstring = "Genetics Maintenance" - if(LOC_ELECTRICAL) - spawn_area_type = /area/maintenance/electrical - locstring = "Electrical Maintenance" - if(LOC_ABANDONEDBAR) - spawn_area_type = /area/maintenance/abandonedbar - locstring = "Maintenance Bar" - if(LOC_ELECTRICAL_SHOP) - spawn_area_type = /area/maintenance/electrical_shop - locstring ="Electronics Den" - if(LOC_GAMBLING_DEN) - spawn_area_type = /area/maintenance/gambling_den - locstring = "Gambling Den" - for(var/areapath in typesof(spawn_area_type)) - var/area/A = locate(areapath) - for(var/turf/simulated/floor/F in A.contents) - if(turf_clear(F)) - turfs += F - + for(var/turf/simulated/floor/F in randomarea) + if(turf_clear(F)) + turfs += F var/list/spawn_types = list() var/max_number - headcrab = rand(0, 4) //rand(0,x) for the future - switch(headcrab) //Switch is for the future + headcrab_type = rand(0, 5) + switch(headcrab_type) if(HEADCRAB_NORMAL) spawn_types = list(/mob/living/simple_animal/hostile/headcrab) max_number = 6 @@ -124,9 +39,13 @@ if(HEADCRAB_POISON) spawn_types = list(/mob/living/simple_animal/hostile/headcrab/poison) max_number = 3 + if(HEADCRAB_SPAWNER) + spawn_types = list(/obj/structure/spawner/headcrab) + max_number = 2 var/num = rand(2,max_number) + while(turfs.len > 0 && num > 0) var/turf/simulated/floor/T = pick(turfs) turfs.Remove(T) @@ -136,31 +55,11 @@ /datum/event/headcrabs/announce() - event_announcement.Announce("Bioscans indicate that creatures have been breeding in [locstring]. Clear them out, before this starts to affect productivity", "Lifesign Alert") - -#undef LOC_ATMOS_CONTROL -#undef LOC_FPMAINT -#undef LOC_FPMAINT2 -#undef LOC_FSMAINT -#undef LOC_FSMAINT2 -#undef LOC_ASMAINT -#undef LOC_ASMAINT2 -#undef LOC_APMAINT -#undef LOC_MAINTCENTRAL -#undef LOC_FORE -#undef LOC_STARBOARD -#undef LOC_PORT -#undef LOC_AFT -#undef LOC_STORAGE -#undef LOC_DISPOSAL -#undef LOC_GENETICS -#undef LOC_ELECTRICAL -#undef LOC_ABANDONEDBAR -#undef LOC_ELECTRICAL_SHOP -#undef LOC_GAMBLING_DEN + event_announcement.Announce("Bioscans indicate that headcrabs have been breeding on the station. Clear them out, before this starts to affect productivity", "Lifesign Alert") #undef HEADCRAB_NORMAL #undef HEADCRAB_FASTMIX #undef HEADCRAB_FAST #undef HEADCRAB_POISONMIX -#undef HEADCRAB_POISON \ No newline at end of file +#undef HEADCRAB_POISON +#undef HEADCRAB_SPAWNER \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/headcrab.dm b/code/modules/mob/living/simple_animal/hostile/headcrab.dm index 71356b7c52c..e48d980c2a4 100644 --- a/code/modules/mob/living/simple_animal/hostile/headcrab.dm +++ b/code/modules/mob/living/simple_animal/hostile/headcrab.dm @@ -5,8 +5,9 @@ icon_state = "headcrab" icon_living = "headcrab" icon_dead = "headcrab_dead" - health = 40 - maxHealth = 40 + health = 60 + maxHealth = 60 + dodging = 1 melee_damage_lower = 5 melee_damage_upper = 10 ranged = 1 @@ -18,7 +19,8 @@ attack_sound = 'sound/creatures/headcrab_attack.ogg' speak_emote = list("hisses") var/is_zombie = 0 - stat_attack = DEAD //so they continue to attack when they are on the ground. + stat_attack = DEAD //so they continue to attack when they are on the ground. + robust_searching = 1 var/host_species = "" var/list/human_overlays = list() @@ -28,6 +30,17 @@ if(H.stat == DEAD || (!H.check_death_method() && H.health <= HEALTH_THRESHOLD_DEAD)) Zombify(H) break + var/cycles = 4 + if(cycles >= 4) + for(var/mob/living/simple_animal/K in oview(src, 1)) //Only for corpse right next to/on same tile + if(K.stat == DEAD || (!K.check_death_method() && K.health <= HEALTH_THRESHOLD_DEAD)) + visible_message("[src] consumes [target] whole!") + if(health < maxHealth) + health += 10 + qdel(K) + break + cycles = 0 + cycles++ ..() /mob/living/simple_animal/hostile/headcrab/OpenFire(atom/A) @@ -51,7 +64,7 @@ var/obj/item/clothing/suit/armor/A = H.wear_suit if(A.armor && A.armor["melee"]) maxHealth += A.armor["melee"] //That zombie's got armor, I want armor! - maxHealth += 50 + maxHealth += 200 health = maxHealth name = "zombie" desc = "A corpse animated by the alien being on its head." @@ -114,8 +127,8 @@ icon_state = "fast_headcrab" icon_living = "fast_headcrab" icon_dead = "fast_headcrab_dead" - health = 30 - maxHealth = 30 + health = 40 + maxHealth = 40 ranged_cooldown_time = 30 jumpdistance = 8 jumpspeed = 2 @@ -144,11 +157,13 @@ icon_state = "poison_headcrab" icon_living = "poison_headcrab" icon_dead = "poison_headcrab_dead" - health = 60 - maxHealth = 60 + health = 80 + maxHealth = 80 ranged_cooldown_time = 50 jumpdistance = 3 jumpspeed = 1 + melee_damage_lower = 8 + melee_damage_upper = 20 attack_sound = 'sound/creatures/ph_scream1.ogg' speak_emote = list("screech") @@ -167,6 +182,10 @@ /mob/living/simple_animal/hostile/headcrab/poison/AttackingTarget() . = ..() - var/mob/living/carbon/C = target - if(C.can_inject(null, FALSE, "head", FALSE)) - C.reagents.add_reagent("lsd", 5) + if(iscarbon(target) && target.reagents) + var/inject_target = pick("chest", "head") + var/mob/living/carbon/C = target + if(C.stunned || C.can_inject(null, FALSE, inject_target, FALSE)) + if(C.eye_blurry < 60) + C.AdjustEyeBlurry(10) + visible_message("[src] buries its fangs deep into the [inject_target] of [target]!") diff --git a/icons/mob/headcrab.dmi b/icons/mob/headcrab.dmi index b308179b45f3a1d0b6375c757e1612132045e3eb..a1081b39835019b53ebcad941088ce8926f91681 100644 GIT binary patch literal 15147 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%0A&%+ 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 literal 11944 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