mirror of
https://github.com/ParadiseSS13/Paradise.git
synced 2026-01-06 15:42:28 +00:00
Merge pull request #10253 from Kyep/cc_contraband
CC/Admin Outfits Update
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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)
|
||||
@@ -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
|
||||
@@ -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)
|
||||
@@ -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")
|
||||
|
||||
@@ -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
|
||||
)
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
// -----------------------------
|
||||
|
||||
@@ -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"
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
@@ -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"
|
||||
|
||||
Reference in New Issue
Block a user