diff --git a/code/game/objects/items/cardboard_cutouts.dm b/code/game/objects/items/cardboard_cutouts.dm index 352a4fb9a7..287b34ec82 100644 --- a/code/game/objects/items/cardboard_cutouts.dm +++ b/code/game/objects/items/cardboard_cutouts.dm @@ -12,7 +12,7 @@ "Traitor", "Nuke Op", "Cultist", "Clockwork Cultist", "Revolutionary", "Wizard", "Shadowling", "Xenomorph", "Swarmer", "Ash Walker", "Deathsquad Officer", "Ian", "Slaughter Demon", - "Laughter Demon") + "Laughter Demon", "Private Security Officer") var/pushed_over = FALSE //If the cutout is pushed over and has to be righted var/deceptive = FALSE //If the cutout actually appears as what it portray and not a discolored version @@ -168,6 +168,11 @@ desc = "A cardboard cutout of a laughter demon." icon = 'icons/mob/mob.dmi' icon_state = "bowmon" + if("Private Security Officer") + name = "Private Security Officer" + desc = "A cardboard cutout of a private security officer." + icon = 'icons/mob/mob.dmi' + icon_state = "cutout_ntsec" return 1 /obj/item/cardboard_cutout/setDir(newdir) diff --git a/code/modules/awaymissions/corpse.dm b/code/modules/awaymissions/corpse.dm index 780d872847..d7abbd77e7 100644 --- a/code/modules/awaymissions/corpse.dm +++ b/code/modules/awaymissions/corpse.dm @@ -18,6 +18,8 @@ var/uses = 1 //how many times can we spawn from it. set to -1 for infinite. var/brute_damage = 0 var/oxy_damage = 0 + var/burn_damage = 0 + var/mob_color //Change the mob's color density = 1 anchored = 1 var/banType = "lavaland" @@ -68,6 +70,8 @@ M.adjustOxyLoss(oxy_damage) M.adjustBruteLoss(brute_damage) + M.adjustFireLoss(burn_damage) + M.color = mob_color equip(M) if(ckey) @@ -115,24 +119,29 @@ var/l_pocket = -1 var/back = -1 var/id = -1 + var/neck = -1 + var/backpack_contents = -1 + var/suit_store = -1 /obj/effect/mob_spawn/human/Initialize() if(ispath(outfit)) outfit = new outfit() if(!outfit) outfit = new /datum/outfit - return ..() - /obj/effect/mob_spawn/human/equip(mob/living/carbon/human/H) if(mob_species) H.set_species(mob_species) if(husk) H.Drain() - + else //Because for some reason I can't track down, things are getting turned into husks even if husk = false. It's in some damage proc somewhere. + H.cure_husk() + H.underwear = "Nude" + H.undershirt = "Nude" + H.socks = "Nude" if(outfit) - var/static/list/slots = list("uniform", "r_hand", "l_hand", "suit", "shoes", "gloves", "ears", "glasses", "mask", "head", "belt", "r_pocket", "l_pocket", "back", "id") + var/static/list/slots = list("uniform", "r_hand", "l_hand", "suit", "shoes", "gloves", "ears", "glasses", "mask", "head", "belt", "r_pocket", "l_pocket", "back", "id", "neck", "backpack_contents", "suit_store") for(var/slot in slots) var/T = vars[slot] if(!isnum(T)) @@ -320,7 +329,6 @@ icon_state = "sleeper" flavour_text = "You are a beach bum!" - /datum/outfit/beachbum name = "Beach Bum" glasses = /obj/item/clothing/glasses/sunglasses @@ -354,7 +362,7 @@ /obj/effect/mob_spawn/human/commander name = "Commander" id_job = "Commander" - id_access_list = list(GLOB.access_cent_captain) + id_access_list = list(GLOB.access_cent_captain, GLOB.access_cent_general, GLOB.access_cent_specops, GLOB.access_cent_medical, GLOB.access_cent_storage) outfit = /datum/outfit/nanotrasencommandercorpse /datum/outfit/nanotrasencommandercorpse @@ -374,7 +382,7 @@ /obj/effect/mob_spawn/human/nanotrasensoldier name = "Nanotrasen Private Security Officer" id_job = "Private Security Force" - id_access_list = list(GLOB.access_cent_specops) + id_access_list = list(GLOB.access_cent_captain, GLOB.access_cent_general, GLOB.access_cent_specops, GLOB.access_cent_medical, GLOB.access_cent_storage, GLOB.access_security) outfit = /datum/outfit/nanotrasensoldiercorpse /datum/outfit/nanotrasensoldiercorpse @@ -398,6 +406,16 @@ icon_state = "sleeper" flavour_text = "You are a Nanotrasen Commander!" +/obj/effect/mob_spawn/human/nanotrasensoldier/alive + death = FALSE + roundstart = FALSE + mob_name = "Private Security Officer" + name = "sleeper" + icon = 'icons/obj/Cryogenic2.dmi' + icon_state = "sleeper" + faction = "nanotrasenprivate" + flavour_text = "You are a Nanotrasen Private Security Officer!" + /////////////////Spooky Undead////////////////////// @@ -461,4 +479,4 @@ back = /obj/item/weapon/storage/backpack shoes = /obj/item/clothing/shoes/sneakers/black suit = /obj/item/clothing/suit/armor/vest - glasses = /obj/item/clothing/glasses/sunglasses/reagent + glasses = /obj/item/clothing/glasses/sunglasses/reagent \ No newline at end of file diff --git a/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm b/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm index 563c5a3d03..7dd53541dd 100644 --- a/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm +++ b/code/modules/mob/living/simple_animal/hostile/retaliate/spaceman.dm @@ -23,3 +23,51 @@ environment_smash = ENVIRONMENT_SMASH_NONE del_on_death = 0 +/mob/living/simple_animal/hostile/retaliate/nanotrasenpeace + name = "Nanotrasen Private Security Officer" + desc = "An officer part of Nanotrasen's private security force." + icon = 'icons/mob/simple_human.dmi' + icon_state = "nanotrasen" + icon_living = "nanotrasen" + icon_dead = null + icon_gib = "syndicate_gib" + turns_per_move = 5 + response_help = "pokes" + response_disarm = "shoves" + response_harm = "hits" + speed = 0 + stat_attack = 1 + robust_searching = 1 + vision_range = 3 + maxHealth = 100 + health = 100 + harm_intent_damage = 5 + melee_damage_lower = 10 + melee_damage_upper = 15 + attacktext = "punches" + attack_sound = 'sound/weapons/punch1.ogg' + faction = list("nanotrasenprivate") + a_intent = INTENT_HARM + loot = list(/obj/effect/mob_spawn/human/corpse/nanotrasensoldier) + atmos_requirements = list("min_oxy" = 5, "max_oxy" = 0, "min_tox" = 0, "max_tox" = 1, "min_co2" = 0, "max_co2" = 5, "min_n2" = 0, "max_n2" = 0) + unsuitable_atmos_damage = 15 + status_flags = CANPUSH + search_objects = 1 + +/mob/living/simple_animal/hostile/retaliate/nanotrasenpeace/Aggro() + ..() + summon_backup(15) + say("411 in progress, requesting backup!") + +/mob/living/simple_animal/hostile/retaliate/nanotrasenpeace/ranged + icon_state = "nanotrasenrangedsmg" + icon_living = "nanotrasenrangedsmg" + vision_range = 9 + rapid = 1 + ranged = 1 + retreat_distance = 3 + minimum_distance = 5 + casingtype = /obj/item/ammo_casing/c46x30mm + projectilesound = 'sound/weapons/Gunshot_smg.ogg' + loot = list(/obj/item/weapon/gun/ballistic/automatic/wt550, + /obj/effect/mob_spawn/human/corpse/nanotrasensoldier) \ No newline at end of file diff --git a/icons/obj/cardboard_cutout.dmi b/icons/obj/cardboard_cutout.dmi index a329c00555..fb41575a8d 100644 Binary files a/icons/obj/cardboard_cutout.dmi and b/icons/obj/cardboard_cutout.dmi differ