From 5132e67d6481b012394c4f17eaa780b70a029ef1 Mon Sep 17 00:00:00 2001 From: FalseIncarnate Date: Thu, 24 Dec 2015 18:01:05 -0500 Subject: [PATCH] Cleanup Cleaned up the code a bit - Fewer death proc defines - Cleaner away mission list - Slightly increased the time between Santa's "death" and next form (0.5 -> 1.0 seconds) - Made the victory announcement slightly more visible among other messages --- _maps/map_files/RandomZLevels/fileList.txt | 18 +++++++--- .../simple_animal/hostile/winter_mobs.dm | 36 ++++++++----------- 2 files changed, 29 insertions(+), 25 deletions(-) diff --git a/_maps/map_files/RandomZLevels/fileList.txt b/_maps/map_files/RandomZLevels/fileList.txt index 52f26162ff7..b135397b4f1 100644 --- a/_maps/map_files/RandomZLevels/fileList.txt +++ b/_maps/map_files/RandomZLevels/fileList.txt @@ -7,19 +7,29 @@ #Do NOT tick the maps during compile -- the game uses this list to decide which map to load. Ticking the maps will result in them ALL being loaded at once. #DO tick the associated code file for the away mission you are enabling. Otherwise, the map will be trying to reference objects which do not exist, which will cause runtime errors! +#===================================# +# BROKEN / INCOMPLETE AWAY MISSIONS # +#===================================# #_maps/map_files/RandomZLevels/academy.dmm -#_maps/map_files/RandomZLevels/beach.dmm #_maps/map_files/RandomZLevels/blackmarketpackers.dmm #_maps/map_files/RandomZLevels/challenge.dmm #_maps/map_files/RandomZLevels/centcomAway.dmm #_maps/map_files/RandomZLevels/clownplanet.dmm #_maps/map_files/RandomZLevels/example.dmm -#_maps/map_files/RandomZLevels/listeningpost.dmm -#_maps/map_files/RandomZLevels/moonoutpost19.dmm #_maps/map_files/RandomZLevels/spacebattle.dmm #_maps/map_files/RandomZLevels/spacehotel.dmm #_maps/map_files/RandomZLevels/stationCollision.dmm -#_maps/map_files/RandomZLevels/undergroundoutpost45.dmm #_maps/map_files/RandomZLevels/wildwest.dmm +#===================================# +# USABLE AWAY MISSIONS # +#===================================# +#_maps/map_files/RandomZLevels/beach.dmm +#_maps/map_files/RandomZLevels/listeningpost.dmm +#_maps/map_files/RandomZLevels/moonoutpost19.dmm +#_maps/map_files/RandomZLevels/undergroundoutpost45.dmm + +#===================================# +# SPECIAL AWAY MISSIONS # +#===================================# _maps/map_files/RandomZLevels/evil_santa.dmm \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/winter_mobs.dm b/code/modules/mob/living/simple_animal/hostile/winter_mobs.dm index 73286aa485e..7b28a5eb266 100644 --- a/code/modules/mob/living/simple_animal/hostile/winter_mobs.dm +++ b/code/modules/mob/living/simple_animal/hostile/winter_mobs.dm @@ -74,44 +74,43 @@ maxHealth = 150 //if this seems low for a "boss", it's because you have to fight him multiple times, with him fully healing between stages health = 150 var/next_stage = null + var/death_message name = "Santa Claus" icon_state = "santa" icon_living = "santa" icon_dead = "santa-dead" +/mob/living/simple_animal/hostile/winter/santa/death() + ..() + if(death_message) + visible_message(death_message) + if(next_stage) + spawn(10) + new next_stage(get_turf(src)) + qdel(src) //hide the body + /mob/living/simple_animal/hostile/winter/santa/stage_1 //stage 1: slow melee desc = "GET THE FAT MAN!" next_stage = /mob/living/simple_animal/hostile/winter/santa/stage_2 + death_message = "HO HO HO! YOU THOUGHT IT WOULD BE THIS EASY?!?" speed = 2 melee_damage_lower = 5 melee_damage_upper = 15 -/mob/living/simple_animal/hostile/winter/santa/stage_1/death() - ..() - visible_message("HO HO HO! YOU THOUGHT IT WOULD BE THIS EASY?!?") - spawn(5) - new next_stage(get_turf(src)) - qdel(src) //hide the body - /mob/living/simple_animal/hostile/winter/santa/stage_2 //stage 2: slow ranged desc = "GET THE FAT MAN AGAIN!" next_stage = /mob/living/simple_animal/hostile/winter/santa/stage_3 + death_message = "YOU'VE BEEN VERY NAUGHTY! PREPARE TO DIE!" ranged = 1 projectiletype = /obj/item/projectile/ornament retreat_distance = 5 minimum_distance = 5 -/mob/living/simple_animal/hostile/winter/santa/stage_2/death() - ..() - visible_message("YOU'VE BEEN VERY NAUGHTY! PREPARE TO DIE!") - spawn(5) - new next_stage(get_turf(src)) - qdel(src) //hide the body - /mob/living/simple_animal/hostile/winter/santa/stage_3 //stage 3: fast rapidfire ranged desc = "WHY WON'T HE DIE ALREADY!?" next_stage = /mob/living/simple_animal/hostile/winter/santa/stage_4 + death_message = "FACE MY FINAL FORM AND KNOW DESPAIR!" ranged = 1 rapid = 1 speed = 0 //he's lost some weight from the fighting @@ -119,13 +118,6 @@ retreat_distance = 3 minimum_distance = 3 -/mob/living/simple_animal/hostile/winter/santa/stage_3/death() - ..() - visible_message("FACE MY FINAL FORM AND KNOW DESPAIR!") - spawn(5) - new next_stage(get_turf(src)) - qdel(src) //hide the body - /mob/living/simple_animal/hostile/winter/santa/stage_4 //stage 4: fast spinebreaker name = "Final Form Santa" desc = "WHAT THE HELL IS HE!?! WHY WON'T HE STAY DEAD!?!" @@ -138,8 +130,10 @@ melee_damage_upper = 25 //that's gonna leave a mark, for sure /mob/living/simple_animal/hostile/winter/santa/stage_4/death() + world << "
" world << "THE FAT MAN HAS FALLEN!" world << "SANTA CLAUS HAS BEEN DEFEATED!" + world << "
" ..() var/obj/item/weapon/grenade/clusterbuster/xmas/X = new /obj/item/weapon/grenade/clusterbuster/xmas(get_turf(src)) var/obj/item/weapon/grenade/clusterbuster/xmas/Y = new /obj/item/weapon/grenade/clusterbuster/xmas(get_turf(src))