Merge pull request #10253 from Kyep/cc_contraband

CC/Admin Outfits Update
This commit is contained in:
variableundefined
2018-11-19 11:05:12 +08:00
committed by GitHub
13 changed files with 281 additions and 155 deletions

View File

@@ -64,34 +64,14 @@
if(istype(R))
R.set_frequency(SYND_FREQ)
/datum/outfit/admin/syndicate/infiltrator
/datum/outfit/admin/syndicate_infiltrator
name = "Syndicate Infiltrator"
uniform = /obj/item/clothing/under/chameleon
glasses = /obj/item/clothing/glasses/hud/security/chameleon
shoes = /obj/item/clothing/shoes/syndigaloshes
r_pocket = null
pda = /obj/item/pda
/datum/outfit/admin/syndicate_infiltrator/equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = H.equip_syndicate_infiltrator(0, 20, FALSE)
H.sec_hud_set_ID()
backpack_contents = list(
/obj/item/storage/box/engineer = 1,
/obj/item/flashlight = 1,
/obj/item/reagent_containers/food/snacks/syndidonkpocket = 1
)
/datum/outfit/admin/syndicate/infiltrator/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
if(H.gloves)
H.gloves.name = "black gloves"
var/obj/item/implant/uplink/U = new /obj/item/implant/uplink(H)
U.implant(H)
U.hidden_uplink.uses = uplink_uses
var/obj/item/implant/dust/D = new /obj/item/implant/dust(H)
D.implant(H)
/datum/outfit/admin/syndicate/operative
name = "Syndicate Nuclear Operative"
@@ -126,17 +106,20 @@
var/obj/item/implant/explosive/E = new(H)
E.implant(H)
/datum/outfit/admin/syndicate/operative/freedom
name = "Syndicate Freedom Operative"
suit = /obj/item/clothing/suit/space/hardsuit/syndi/freedom
head = /obj/item/clothing/head/helmet/space/hardsuit/syndi/freedom
/datum/outfit/admin/syndicate_strike_team
name = "Syndicate Strike Team"
/datum/outfit/admin/syndicate_strike_team/equip(mob/living/carbon/human/H, visualsOnly = FALSE)
return H.equip_syndicate_commando()
/datum/outfit/admin/syndicate/officer
name = "Syndicate Officer"
@@ -156,7 +139,9 @@
/obj/item/clothing/shoes/magboots/syndie/advance = 1,
/obj/item/lighter/zippo/gonzofist = 1
)
implants = list(
/obj/item/implant/dust
)
id_icon = "commander"
id_access = "Syndicate Operative Leader"
@@ -169,8 +154,17 @@
U.implant(H)
U.hidden_uplink.uses = 500
var/obj/item/implant/dust/D = new(H)
D.implant(H)
/datum/outfit/admin/syndicate/spy
name = "Syndicate Spy"
uniform = /obj/item/clothing/under/suit_jacket/really_black
shoes = /obj/item/clothing/shoes/syndigaloshes/black
uplink_uses = 40
id_access = "Syndicate Agent"
implants = list(
/obj/item/implant/dust
)
/datum/outfit/admin/nt_vip
@@ -196,7 +190,7 @@
var/obj/item/card/id/I = H.wear_id
if(istype(I))
apply_to_card(I, H, get_centcom_access("VIP Guest"), "VIP Guest")
H.sec_hud_set_ID()
/datum/outfit/admin/nt_navy_captain
name = "NT Navy Captain"
@@ -228,6 +222,7 @@
var/obj/item/card/id/I = H.wear_id
if(istype(I))
apply_to_card(I, H, get_centcom_access("Nanotrasen Navy Captain"), "Nanotrasen Navy Captain")
H.sec_hud_set_ID()
/datum/outfit/admin/nt_diplomat
name = "NT Diplomat"
@@ -258,39 +253,35 @@
var/obj/item/card/id/I = H.wear_id
if(istype(I))
apply_to_card(I, H, get_centcom_access("Nanotrasen Navy Representative"), "Nanotrasen Diplomat")
// Will show as ? on sec huds, as this is not a recognized rank.
/datum/outfit/admin/nt_undercover
name = "NT Undercover Operative"
// Disguised NT special forces, sent to quietly eliminate mutinous people in high positions (e.g: captain)
// Disguised NT special forces, sent to quietly eliminate or keep tabs on people in high positions (e.g: captain)
uniform = /obj/item/clothing/under/chameleon
uniform = /obj/item/clothing/under/color/black
back = /obj/item/storage/backpack
belt = /obj/item/storage/belt/utility/full/multitool
gloves = /obj/item/clothing/gloves/combat
shoes = /obj/item/clothing/shoes/syndigaloshes
l_ear = /obj/item/radio/headset/heads/captain
id = /obj/item/card/id/syndicate
shoes = /obj/item/clothing/shoes/syndigaloshes/black
l_ear = /obj/item/radio/headset/centcom
id = /obj/item/card/id
pda = /obj/item/pda
backpack_contents = list(
/obj/item/storage/box/engineer = 1,
/obj/item/flashlight = 1,
/obj/item/gun/projectile/automatic/proto = 1, // NT saber SMG
/obj/item/suppressor = 1, // silencer for SMG
/obj/item/ammo_box/magazine/smgm9mm = 3, // SMG ammo
/obj/item/door_remote/omni = 1,
/obj/item/implanter/mindshield = 1, // not implanted by default, as that would make them suspicious
/obj/item/implanter/storage = 1 // do not auto-implant this, that causes a bug
/obj/item/pinpointer/crew = 1
)
implants = list(
/obj/item/implant/dust
)
cybernetic_implants = list(
/obj/item/organ/internal/cyberimp/eyes/shield,
/obj/item/organ/internal/cyberimp/eyes/hud/security,
/obj/item/organ/internal/cyberimp/eyes/xray,
/obj/item/organ/internal/cyberimp/brain/anti_drop,
/obj/item/organ/internal/cyberimp/brain/anti_stun,
/obj/item/organ/internal/cyberimp/chest/nutriment/plus
/obj/item/organ/internal/cyberimp/chest/nutriment/plus,
/obj/item/organ/internal/cyberimp/arm/combat/centcom
)
/datum/outfit/admin/nt_undercover/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
@@ -300,16 +291,14 @@
var/obj/item/card/id/I = H.wear_id
if(istype(I))
apply_to_card(I, H, get_all_accesses(), "Civilian")
I.icon_state = "deathsquad"
apply_to_card(I, H, get_centcom_access("NT Undercover Operative"), "Civilian")
H.sec_hud_set_ID() // Force it to show as Civ on sec huds
var/obj/item/radio/R = H.l_ear
if(istype(R))
R.name = "radio headset"
R.icon_state = "headset"
/datum/outfit/admin/death_commando
name = "NT Death Commando"
@@ -321,11 +310,15 @@
uniform = /obj/item/clothing/under/pirate
back = /obj/item/storage/backpack/satchel
belt = /obj/item/storage/belt/utility/full/multitool
gloves = /obj/item/clothing/gloves/combat
shoes = /obj/item/clothing/shoes/brown
l_ear = /obj/item/radio/headset
id = /obj/item/card/id
r_hand = /obj/item/melee/energy/sword/pirate
backpack_contents = list(
/obj/item/storage/box/survival = 1
/obj/item/storage/box/survival = 1,
/obj/item/flashlight = 1
)
/datum/outfit/admin/pirate/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
@@ -405,7 +398,11 @@
backpack_contents = list(
/obj/item/storage/box/survival = 1,
/obj/item/flashlight = 1,
/obj/item/reagent_containers/food/drinks/bottle/bottleofbanana = 1
/obj/item/reagent_containers/food/drinks/bottle/bottleofbanana = 1,
/obj/item/grenade/clown_grenade = 1,
/obj/item/melee/baton/cattleprod = 1,
/obj/item/stock_parts/cell/super = 1,
/obj/item/bikehorn/rubberducky = 1
)
/datum/outfit/admin/tunnel_clown/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
@@ -436,8 +433,10 @@
/obj/item/storage/box/survival = 1,
/obj/item/reagent_containers/food/drinks/bottle/bottleofnothing = 1,
/obj/item/toy/crayon/mime = 1,
/obj/item/storage/box/syndie_kit/caneshotgun = 1,
/obj/item/ammo_casing/shotgun/incendiary/dragonsbreath = 2,
/obj/item/gun/projectile/automatic/pistol = 1,
/obj/item/ammo_box/magazine/m10mm = 1,
/obj/item/suppressor = 1,
/obj/item/card/emag = 1,
/obj/item/radio/uplink = 1,
/obj/item/reagent_containers/food/snacks/syndidonkpocket = 1,
/obj/item/flashlight = 1
@@ -463,6 +462,7 @@
var/obj/item/card/id/I = H.wear_id
if(istype(I))
apply_to_card(I, H, list(access_mime, access_theatre, access_maint_tunnels), "Mime")
H.sec_hud_set_ID()
/datum/outfit/admin/greytide
name = "Greytide"
@@ -538,6 +538,45 @@
if(istype(I))
apply_to_card(I, H, list(access_maint_tunnels), "Legit Xenomorph")
/datum/outfit/admin/musician
name = "Musician"
uniform = /obj/item/clothing/under/singerb
back = /obj/item/storage/backpack
shoes = /obj/item/clothing/shoes/singerb
gloves = /obj/item/clothing/gloves/color/white
l_ear = /obj/item/radio/headset
r_ear = /obj/item/clothing/ears/headphones
pda = /obj/item/pda
id = /obj/item/card/id
backpack_contents = list(
/obj/item/storage/box/survival = 1,
/obj/item/flashlight = 1,
/obj/item/instrument/violin = 1,
/obj/item/instrument/piano_synth = 1,
/obj/item/instrument/guitar = 1,
/obj/item/instrument/eguitar = 1,
/obj/item/instrument/accordion = 1,
/obj/item/instrument/saxophone = 1,
/obj/item/instrument/trombone = 1,
/obj/item/instrument/harmonica = 1
)
/datum/outfit/admin/musician/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
var/obj/item/card/id/I = H.wear_id
if(istype(I))
apply_to_card(I, H, list(access_maint_tunnels), "Bard")
var/obj/item/clothing/ears/headphones/P = r_ear
if(istype(P))
P.attack_self(H) // activate them, display musical notes effect
/datum/outfit/admin/soviet
gloves = /obj/item/clothing/gloves/combat
@@ -594,7 +633,6 @@
l_ear = /obj/item/radio/headset/syndicate
r_ear = null
glasses = /obj/item/clothing/glasses/thermal/eyepatch
id = null
l_pocket = null
r_pocket = null
suit_store = null
@@ -930,7 +968,8 @@
uniform = /obj/item/clothing/under/syndicate/combat
suit = /obj/item/clothing/suit/space/hardsuit/singuloth
back = /obj/item/twohanded/knighthammer
back = /obj/item/storage/backpack/satchel
l_hand = /obj/item/twohanded/knighthammer
belt = /obj/item/claymore/ceremonial
gloves = /obj/item/clothing/gloves/combat
shoes = /obj/item/clothing/shoes/magboots
@@ -940,6 +979,10 @@
glasses = /obj/item/clothing/glasses/meson/cyber
id = /obj/item/card/id
suit_store = /obj/item/tank/oxygen
backpack_contents = list(
/obj/item/storage/box/survival = 1,
/obj/item/flashlight = 1
)
/datum/outfit/admin/singuloth_knight/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
@@ -950,95 +993,14 @@
if(istype(I))
apply_to_card(I, H, get_all_accesses(), "Singuloth Knight")
/datum/outfit/admin/assassin
name = "Syndicate Assassin"
uniform = /obj/item/clothing/under/suit_jacket
suit = /obj/item/clothing/suit/wcoat
back = /obj/item/storage/backpack
gloves = /obj/item/clothing/gloves/color/black
shoes = /obj/item/clothing/shoes/black
l_ear = /obj/item/radio/headset/syndicate
glasses = /obj/item/clothing/glasses/sunglasses
id = /obj/item/card/id/syndicate
l_pocket = /obj/item/melee/energy/sword/saber
l_hand = /obj/item/storage/secure/briefcase/reaper
pda = /obj/item/pda/heads
backpack_contents = list(
/obj/item/storage/box/survival = 1,
/obj/item/flashlight = 1
)
implants = list(
/obj/item/implant/dust
)
/datum/outfit/admin/assassin/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
var/obj/item/pda/PDA = H.wear_pda
if(istype(PDA))
PDA.owner = H.real_name
PDA.ownjob = "Reaper"
PDA.name = "PDA-[H.real_name] ([PDA.ownjob])"
var/obj/item/card/id/I = H.wear_id
if(istype(I))
apply_to_card(I, H, get_all_accesses(), "Reaper", "syndie")
/datum/outfit/admin/spy
name = "Spy"
uniform = /obj/item/clothing/under/suit_jacket/really_black
back = /obj/item/storage/backpack
gloves = /obj/item/clothing/gloves/combat
shoes = /obj/item/clothing/shoes/black
l_ear = /obj/item/radio/headset/syndicate
glasses = /obj/item/clothing/glasses/hud/security/chameleon
id = /obj/item/card/id/syndicate
l_pocket = /obj/item/melee/energy/sword/saber
r_pocket = /obj/item/pen/sleepy
pda = /obj/item/pda/heads
backpack_contents = list(
/obj/item/storage/box/survival = 1,
/obj/item/gun/projectile/automatic/pistol = 1,
/obj/item/suppressor = 1,
/obj/item/card/emag = 1,
/obj/item/flashlight = 1,
/obj/item/implanter/storage = 1 // do not auto-implant this, that causes a bug
)
implants = list(
/obj/item/implant/dust
)
/datum/outfit/admin/spy/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
var/obj/item/clothing/gloves/combat/G = H.gloves
if(istype(G))
G.name = "black gloves"
var/obj/item/pda/PDA = H.wear_pda
if(istype(PDA))
PDA.owner = H.real_name
PDA.ownjob = "Spy"
PDA.name = "PDA-[H.real_name] ([PDA.ownjob])"
var/obj/item/card/id/I = H.wear_id
if(istype(I))
apply_to_card(I, H, list(access_maint_tunnels), "Spy", "syndie")
/datum/outfit/admin/dark_lord
name = "Dark Lord"
uniform = /obj/item/clothing/under/color/black
suit = /obj/item/clothing/suit/hooded/chaplain_hoodie
back = /obj/item/storage/backpack
gloves = /obj/item/clothing/gloves/color/black
shoes = /obj/item/clothing/shoes/black
gloves = /obj/item/clothing/gloves/combat
shoes = /obj/item/clothing/shoes/syndigaloshes/black
l_ear = /obj/item/radio/headset/syndicate
id = /obj/item/card/id/syndicate
l_hand = /obj/item/twohanded/dualsaber/red
@@ -1062,6 +1024,53 @@
apply_to_card(I, H, get_all_accesses(), "Dark Lord", "syndie")
/datum/outfit/admin/ancient_vampire
name = "Ancient Vampire"
uniform = /obj/item/clothing/under/victsuit/red
suit = /obj/item/clothing/suit/draculacoat
back = /obj/item/storage/backpack
gloves = /obj/item/clothing/gloves/combat
shoes = /obj/item/clothing/shoes/syndigaloshes/black
l_ear = /obj/item/radio/headset/syndicate
id = /obj/item/card/id
backpack_contents = list(
/obj/item/storage/box/survival = 1,
/obj/item/flashlight = 1,
/obj/item/clothing/under/color/black = 1
)
/datum/outfit/admin/ancient_vampire/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
. = ..()
if(visualsOnly)
return
var/obj/item/clothing/suit/hooded/chaplain_hoodie/C = new(H.loc)
if(istype(C))
C.name = "ancient robes"
C.hood.name = "ancient hood"
H.equip_to_slot_or_del(C, slot_in_backpack)
var/obj/item/card/id/I = H.wear_id
if(istype(I))
apply_to_card(I, H, get_all_accesses(), "Ancient One", "data")
if(H.mind)
if(!H.mind.vampire)
H.make_vampire()
if(H.mind.vampire)
H.mind.vampire.bloodusable = 9999
H.mind.vampire.bloodtotal = 9999
H.mind.vampire.check_vampire_upgrade(0)
H.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/shapeshift/bats)
to_chat(H, "You have gained the ability to shapeshift into bat form. While capable of basic self defense, you cannot use your other abilities in that form.")
H.mind.AddSpell(new /obj/effect/proc_holder/spell/targeted/raise_vampires)
to_chat(H, "You have gained the ability to Raise Vampires. This extremely powerful AOE ability affects all humans near you. Vampires/thralls are healed. Corpses are raised as vampires. Others are stunned, then brain damaged, then killed.")
H.dna.SetSEState(JUMPBLOCK, 1)
genemutcheck(H, JUMPBLOCK, null, MUTCHK_FORCED)
H.update_mutations()
H.gene_stability = 100
/datum/outfit/admin/wizard
name = "Blue Wizard"
uniform = /obj/item/clothing/under/color/lightpurple

View File

@@ -79,4 +79,16 @@
shapeshift_type = /mob/living/simple_animal/hostile/megafauna/dragon/lesser
list/current_shapes = list(/mob/living/simple_animal/hostile/megafauna/dragon/lesser)
list/current_casters = list()
list/possible_shapes = list(/mob/living/simple_animal/hostile/megafauna/dragon/lesser)
list/possible_shapes = list(/mob/living/simple_animal/hostile/megafauna/dragon/lesser)
/obj/effect/proc_holder/spell/targeted/shapeshift/bats
name = "Bat Form"
desc = "Take on the shape of a swarm of bats."
invocation = "none"
invocation_type = "none"
action_icon_state = "vampire_bats"
shapeshift_type = /mob/living/simple_animal/hostile/scarybat/batswarm
list/current_shapes = list(/mob/living/simple_animal/hostile/scarybat/batswarm)
list/current_casters = list()
list/possible_shapes = list(/mob/living/simple_animal/hostile/scarybat/batswarm)

View File

@@ -391,3 +391,12 @@
/obj/item/pinpointer/crew/examine(mob/user)
..(user)
/obj/item/pinpointer/crew/centcom
name = "centcom pinpointer"
desc = "A handheld tracking device that tracks crew based on remote centcom sensors."
/obj/item/pinpointer/crew/centcom/trackable(mob/living/carbon/human/H)
var/turf/here = get_turf(src)
var/turf/there = get_turf(H)
return there && there.z == here.z

View File

@@ -535,3 +535,73 @@
/datum/vampire_passive/full
gain_desc = "You have reached your full potential and are no longer weak to the effects of anything holy and your vision has been improved greatly."
/obj/effect/proc_holder/spell/targeted/raise_vampires
name = "Raise Vampires"
desc = "Summons deadly vampires from bluespace."
school = "transmutation"
charge_max = 100
clothes_req = 0
human_req = 1
invocation = "none"
invocation_type = "none"
max_targets = 0
range = 3
cooldown_min = 20
action_icon_state = "revive_thrall"
sound = 'sound/magic/WandODeath.ogg'
/obj/effect/proc_holder/spell/targeted/raise_vampires/cast(list/targets, mob/user = usr)
new /obj/effect/temp_visual/cult/sparks(user.loc)
var/turf/T = get_turf(user)
to_chat(user, "<span class='warning'>You call out within bluespace, summoning more vampiric spirits to aid you!</span>")
for(var/mob/living/carbon/human/H in targets)
T.Beam(H, "sendbeam", 'icons/effects/effects.dmi', time=30, maxdistance=7, beam_type=/obj/effect/ebeam)
new /obj/effect/temp_visual/cult/sparks(H.loc)
H.raise_vampire(user)
/mob/living/carbon/human/proc/raise_vampire(var/mob/M)
if(!istype(M))
log_debug("human/proc/raise_vampire called with invalid argument.")
return
if(!mind)
visible_message("[src] looks to be too stupid to understand what is going on.")
return
if(dna && (NO_BLOOD in dna.species.species_traits) || dna.species.exotic_blood || !blood_volume)
visible_message("[src] looks unfazed!")
return
if(mind.vampire || mind.special_role == SPECIAL_ROLE_VAMPIRE || mind.special_role == SPECIAL_ROLE_VAMPIRE_THRALL)
visible_message("<span class='notice'>[src] looks refreshed!</span>")
adjustBruteLoss(-60)
adjustFireLoss(-60)
for(var/obj/item/organ/external/E in bodyparts)
if(prob(25))
if(E.mend_fracture())
E.perma_injury = 0
return
if(stat != DEAD)
if(weakened)
visible_message("<span class='warning'>[src] looks to be in pain!</span>")
adjustBrainLoss(60)
else
visible_message("<span class='warning'>[src] looks to be stunned by the energy!</span>")
Weaken(20)
return
for(var/obj/item/implant/mindshield/L in src)
if(L && L.implanted)
qdel(L)
for(var/obj/item/implant/traitor/T in src)
if(T && T.implanted)
qdel(T)
visible_message("<span class='warning'>[src] gets an eerie red glow in their eyes!</span>")
var/datum/objective/protect/protect_objective = new
protect_objective.owner = mind
protect_objective.target = M.mind
protect_objective.explanation_text = "Protect [M.real_name]."
mind.objectives += protect_objective
add_attack_logs(M, src, "Vampire-sired")
mind.make_Vampire()
revive()
Weaken(20)

View File

@@ -84,7 +84,7 @@
/var/const/access_cent_storage = 105//Storage areas.
/var/const/access_cent_shuttles = 106//Shuttle docks.
/var/const/access_cent_telecomms = 107//Telecomms.
/var/const/access_cent_teleporter = 108//Telecomms.
/var/const/access_cent_teleporter = 108//Teleporter
/var/const/access_cent_specops = 109//Special Ops.
/var/const/access_cent_specops_commander = 110//Special Ops Commander.
/var/const/access_cent_blackops = 111//Black Ops.
@@ -207,6 +207,8 @@ var/const/access_trade_sol = 160
return list(access_cent_general, access_cent_living, access_cent_medical, access_cent_security, access_cent_storage, access_cent_specops, access_cent_specops_commander, access_cent_blackops) + get_all_accesses()
if("Deathsquad Officer")
return get_all_centcom_access() + get_all_accesses()
if("NT Undercover Operative")
return get_all_centcom_access() + get_all_accesses()
if("Special Operations Officer")
return get_all_centcom_access() + get_all_accesses()
if("Nanotrasen Navy Representative")
@@ -224,6 +226,8 @@ var/const/access_trade_sol = 160
return list(access_syndicate)
if("Syndicate Operative Leader")
return list(access_syndicate, access_syndicate_leader)
if("Syndicate Agent")
return list(access_syndicate, access_maint_tunnels)
if("Vox Raider")
return list(access_vox)
if("Vox Trader")

View File

@@ -35,7 +35,9 @@
)
backpack = /obj/item/storage/backpack/satchel
box = /obj/item/storage/box/centcomofficer
cybernetic_implants = list(
/obj/item/organ/internal/cyberimp/chest/nutriment/plus
)
// CC Officials who lead ERTs, Death Squads, etc.
/datum/job/ntspecops
@@ -61,7 +63,7 @@
uniform = /obj/item/clothing/under/rank/centcom_commander
suit = /obj/item/clothing/suit/space/deathsquad/officer
back = /obj/item/storage/backpack/security
belt = /obj/item/gun/energy/pulse/pistol/m1911
belt = /obj/item/storage/belt/military/assault
gloves = /obj/item/clothing/gloves/combat
shoes = /obj/item/clothing/shoes/combat
mask = /obj/item/clothing/mask/cigarette/cigar/cohiba
@@ -75,7 +77,6 @@
backpack = /obj/item/storage/backpack/satchel
backpack_contents = list(
/obj/item/clothing/shoes/magboots/advance = 1,
/obj/item/twohanded/dualsaber/red = 1,
/obj/item/storage/box/zipties = 1
)
implants = list(
@@ -86,5 +87,6 @@
/obj/item/organ/internal/cyberimp/eyes/xray,
/obj/item/organ/internal/cyberimp/brain/anti_drop,
/obj/item/organ/internal/cyberimp/brain/anti_stun,
/obj/item/organ/internal/cyberimp/chest/nutriment/plus
/obj/item/organ/internal/cyberimp/chest/nutriment/plus,
/obj/item/organ/internal/cyberimp/arm/combat/centcom
)

View File

@@ -879,7 +879,9 @@
/obj/item/storage/box/centcomofficer
name = "officer kit"
icon_state = "box_ert"
storage_slots = 14
max_combined_w_class = 20
/obj/item/storage/box/centcomofficer/New()
..()
contents = list()
@@ -893,7 +895,8 @@
new /obj/item/implanter/death_alarm(src)
new /obj/item/reagent_containers/hypospray/combat/nanites(src)
new /obj/item/pinpointer/advpinpointer(src)
new /obj/item/pinpointer(src)
new /obj/item/pinpointer/crew/centcom(src)
/obj/item/storage/box/responseteam
name = "boxed survival kit"

View File

@@ -214,14 +214,6 @@
for(var/i = 0, i < storage_slots - 2, i++)
handle_item_insertion(new /obj/item/stack/spacecash/c1000, 1)
/obj/item/storage/secure/briefcase/reaper/New()
..()
handle_item_insertion(new /obj/item/gun/energy/kinetic_accelerator/crossbow, 1)
handle_item_insertion(new /obj/item/gun/projectile/revolver/mateba, 1)
handle_item_insertion(new /obj/item/ammo_box/a357, 1)
handle_item_insertion(new /obj/item/grenade/plastic/c4, 1)
// -----------------------------
// Secure Safe
// -----------------------------

View File

@@ -10,6 +10,12 @@
var/list/clothing_choices = list()
silence_steps = 1
/obj/item/clothing/shoes/syndigaloshes/black
name = "black shoes"
icon_state = "black"
item_color = "black"
desc = "A pair of black shoes. They seem to have extra grip."
/obj/item/clothing/shoes/mime
name = "mime shoes"
icon_state = "mime"

View File

@@ -238,7 +238,7 @@
start_tail_wagging(1)
else if(dna.species.bodyflags & TAIL_WAGGING)
if(!wear_suit || !(wear_suit.flags_inv & HIDETAIL) && !istype(wear_suit, /obj/item/clothing/suit/space))
if(!wear_suit || !(wear_suit.flags_inv & HIDETAIL))
message = "<B>[src]</B> starts wagging [p_their()] tail."
start_tail_wagging(1)
else

View File

@@ -1082,7 +1082,7 @@ var/global/list/damage_icon_parts = list()
overlays_standing[TAIL_LAYER] = tail
else if(tail && dna.species.bodyflags & HAS_TAIL) //no tailless tajaran
if(!wear_suit || !(wear_suit.flags_inv & HIDETAIL) && !istype(wear_suit, /obj/item/clothing/suit/space))
if(!wear_suit || !(wear_suit.flags_inv & HIDETAIL))
var/icon/tail_s = new/icon("icon" = 'icons/effects/species.dmi', "icon_state" = "[tail]_s")
if(dna.species.bodyflags & HAS_SKIN_COLOR)
tail_s.Blend(skin_colour, ICON_ADD)

View File

@@ -60,4 +60,17 @@
if(istype(L))
if(prob(15))
L.Stun(1)
L.visible_message("<span class='danger'>\the [src] scares \the [L]!</span>")
L.visible_message("<span class='danger'>\the [src] scares \the [L]!</span>")
/mob/living/simple_animal/hostile/scarybat/batswarm
name = "bat swarm"
desc = "A swarm of vicious, angry-looking space bats."
speed = 1
harm_intent_damage = 25
maxHealth = 300
melee_damage_lower = 10
melee_damage_upper = 30
a_intent = INTENT_HARM
universal_speak = 1
universal_understand = 1

View File

@@ -238,6 +238,12 @@
var/obj/item/flash/armimplant/F = locate(/obj/item/flash/armimplant) in items_list
F.I = src
/obj/item/organ/internal/cyberimp/arm/combat/centcom
name = "NT specops cybernetics implant"
desc = "An extremely powerful cybernetic implant that contains combat and utility modules used by NT special forces."
contents = newlist(/obj/item/gun/energy/pulse/pistol/m1911, /obj/item/door_remote/omni, /obj/item/melee/energy/blade/hardlight, /obj/item/reagent_containers/hypospray/combat/nanites, /obj/item/gun/medbeam, /obj/item/borg/stun, /obj/item/implanter/mindshield, /obj/item/flash/armimplant)
emp_proof = 1
/obj/item/organ/internal/cyberimp/arm/surgery
name = "surgical toolset implant"
desc = "A set of surgical tools hidden behind a concealed panel on the user's arm"