Merge pull request #1274 from Citadel-Station-13/upstream-merge-27652

[MIRROR] [Centcom] Nanotrasen Private Security 2.0
This commit is contained in:
LetterJay
2017-06-06 09:01:33 -05:00
committed by GitHub
4 changed files with 80 additions and 9 deletions

View File

@@ -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)

View File

@@ -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

View File

@@ -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)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 16 KiB