mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-29 16:10:02 +01:00
Lowpop Antag: Burglar (#9193)
Added a lowpop gamemode called 'Burglars', featuring a new type of antagonist, a mix between a heister and a traitor. Neutered for lowpop fun.
Added a mixed gamemode, 'Conflict', which is heisters and burglars.
This commit is contained in:
@@ -405,6 +405,7 @@
|
||||
#include "code\game\antagonist\antagonist_print.dm"
|
||||
#include "code\game\antagonist\antagonist_update.dm"
|
||||
#include "code\game\antagonist\alien\borer.dm"
|
||||
#include "code\game\antagonist\outsider\burglar.dm"
|
||||
#include "code\game\antagonist\outsider\commando.dm"
|
||||
#include "code\game\antagonist\outsider\deathsquad.dm"
|
||||
#include "code\game\antagonist\outsider\ert.dm"
|
||||
@@ -439,6 +440,7 @@
|
||||
#include "code\game\gamemodes\objective.dm"
|
||||
#include "code\game\gamemodes\setupgame.dm"
|
||||
#include "code\game\gamemodes\borer\borer.dm"
|
||||
#include "code\game\gamemodes\burglars\burglars.dm"
|
||||
#include "code\game\gamemodes\calamity\calamity.dm"
|
||||
#include "code\game\gamemodes\changeling\helpers\_framework.dm"
|
||||
#include "code\game\gamemodes\changeling\helpers\_store.dm"
|
||||
@@ -521,6 +523,7 @@
|
||||
#include "code\game\gamemodes\meteor\meteors.dm"
|
||||
#include "code\game\gamemodes\mixed\acolytes.dm"
|
||||
#include "code\game\gamemodes\mixed\bughunt.dm"
|
||||
#include "code\game\gamemodes\mixed\conflict.dm"
|
||||
#include "code\game\gamemodes\mixed\conflux.dm"
|
||||
#include "code\game\gamemodes\mixed\crossfire.dm"
|
||||
#include "code\game\gamemodes\mixed\feeding.dm"
|
||||
|
||||
@@ -43,6 +43,7 @@
|
||||
#define MODE_MERCENARY "mercenary"
|
||||
#define MODE_NINJA "ninja"
|
||||
#define MODE_RAIDER "raider"
|
||||
#define MODE_BURGLAR "burglar"
|
||||
#define MODE_WIZARD "wizard"
|
||||
#define MODE_CHANGELING "changeling"
|
||||
#define MODE_CULTIST "cultist"
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#define DTH_FREQ 1341
|
||||
#define SYND_FREQ 1213
|
||||
#define NINJ_FREQ 1255
|
||||
#define BURG_FREQ 1257
|
||||
#define RAID_FREQ 1277
|
||||
#define ENT_FREQ 1461 //entertainment frequency. This is not a diona exclusive frequency.
|
||||
|
||||
@@ -37,6 +38,7 @@ var/list/radiochannels = list(
|
||||
"Special Ops" = DTH_FREQ,
|
||||
"Mercenary" = SYND_FREQ,
|
||||
"Ninja" = NINJ_FREQ,
|
||||
"Burglar" = BURG_FREQ,
|
||||
"Raider" = RAID_FREQ,
|
||||
"Supply" = SUP_FREQ,
|
||||
"Service" = SRV_FREQ,
|
||||
@@ -63,13 +65,15 @@ var/list/CENT_FREQS_ASSOC = list(
|
||||
var/list/ANTAG_FREQS = list(
|
||||
SYND_FREQ,
|
||||
RAID_FREQ,
|
||||
NINJ_FREQ
|
||||
NINJ_FREQ,
|
||||
BURG_FREQ
|
||||
)
|
||||
|
||||
var/list/ANTAG_FREQS_ASSOC = list(
|
||||
"[SYND_FREQ]" = TRUE,
|
||||
"[RAID_FREQ]" = TRUE,
|
||||
"[NINJ_FREQ]" = TRUE
|
||||
"[NINJ_FREQ]" = TRUE,
|
||||
"[BURG_FREQ]" = TRUE
|
||||
)
|
||||
|
||||
//Department channels, arranged lexically
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
var/list/msg_deathsquad = list()
|
||||
var/list/msg_syndicate = list()
|
||||
var/list/msg_raider = list()
|
||||
var/list/msg_burglar = list()
|
||||
var/list/msg_ninja = list()
|
||||
var/list/msg_cargo = list()
|
||||
var/list/msg_service = list()
|
||||
|
||||
@@ -232,6 +232,96 @@
|
||||
W.handle_item_insertion(id)
|
||||
spawn_money(rand(50,150)*10,W)
|
||||
|
||||
/datum/outfit/admin/syndicate/raider/burglar
|
||||
name = "Burglar"
|
||||
|
||||
uniform = list(
|
||||
/obj/item/clothing/under/suit_jacket/really_black,
|
||||
/obj/item/clothing/under/suit_jacket/charcoal,
|
||||
/obj/item/clothing/under/suit_jacket/navy,
|
||||
/obj/item/clothing/under/suit_jacket/burgundy
|
||||
)
|
||||
|
||||
suit = /obj/item/clothing/suit/armor/bulletproof
|
||||
|
||||
shoes = list(
|
||||
/obj/item/clothing/shoes/laceup/all_species,
|
||||
/obj/item/clothing/shoes/laceup/brown/all_species
|
||||
)
|
||||
|
||||
glasses = list(
|
||||
/obj/item/clothing/glasses/sunglasses,
|
||||
/obj/item/clothing/glasses/sunglasses/aviator
|
||||
)
|
||||
|
||||
head = null
|
||||
|
||||
gloves = list(
|
||||
/obj/item/clothing/gloves/watch,
|
||||
/obj/item/clothing/gloves/watch/silver,
|
||||
/obj/item/clothing/gloves/watch/gold,
|
||||
/obj/item/clothing/gloves/watch/spy
|
||||
)
|
||||
|
||||
l_ear = /obj/item/device/radio/headset/burglar
|
||||
l_pocket = /obj/item/syndie/teleporter
|
||||
r_pocket = /obj/item/device/special_uplink/burglar
|
||||
id = /obj/item/storage/wallet
|
||||
|
||||
r_hand = /obj/item/storage/briefcase/black
|
||||
|
||||
backpack_contents = list()
|
||||
|
||||
/datum/outfit/admin/syndicate/raider/burglar/post_equip(mob/living/carbon/human/H, visualsOnly = FALSE)
|
||||
. = ..()
|
||||
if(visualsOnly)
|
||||
return
|
||||
|
||||
var/static/list/burglar_guns = list(
|
||||
/obj/item/gun/energy/rifle/icelance,
|
||||
/obj/item/gun/energy/retro,
|
||||
/obj/item/gun/projectile/silenced,
|
||||
/obj/item/gun/projectile/colt,
|
||||
/obj/item/gun/projectile/revolver/deckard,
|
||||
/obj/item/gun/projectile/revolver/lemat
|
||||
)
|
||||
|
||||
var/new_gun = pick(burglar_guns)
|
||||
var/turf/T = get_turf(H)
|
||||
|
||||
var/obj/item/primary = new new_gun(T)
|
||||
var/obj/item/clothing/accessory/holster/armpit/holster
|
||||
|
||||
if(primary.slot_flags & SLOT_HOLSTER)
|
||||
holster = new /obj/item/clothing/accessory/holster/armpit(T)
|
||||
holster.holstered = primary
|
||||
primary.forceMove(holster)
|
||||
else if(!H.belt && (primary.slot_flags & SLOT_BELT))
|
||||
H.equip_to_slot_or_del(primary, slot_belt)
|
||||
else if(!H.back && (primary.slot_flags & SLOT_BACK))
|
||||
H.equip_to_slot_or_del(primary, slot_back)
|
||||
else
|
||||
H.put_in_any_hand_if_possible(primary)
|
||||
|
||||
if(istype(primary, /obj/item/gun/projectile))
|
||||
var/obj/item/gun/projectile/bullet_thrower = primary
|
||||
var/obj/item/storage/briefcase/B = locate() in H
|
||||
if(bullet_thrower.magazine_type)
|
||||
new bullet_thrower.magazine_type(B)
|
||||
if(prob(20)) //don't want to give them too much
|
||||
new bullet_thrower.magazine_type(B)
|
||||
else if(bullet_thrower.ammo_type)
|
||||
for(var/i in 1 to rand(3, 5) + rand(0, 2))
|
||||
new bullet_thrower.ammo_type(B)
|
||||
H.put_in_hands(B)
|
||||
|
||||
if(holster)
|
||||
var/obj/item/clothing/under/uniform = H.w_uniform
|
||||
if(istype(uniform) && uniform.can_attach_accessory(holster))
|
||||
uniform.attackby(holster, H)
|
||||
else
|
||||
H.put_in_any_hand_if_possible(holster)
|
||||
|
||||
// Non-syndicate antag outfits
|
||||
|
||||
/datum/outfit/admin/highlander
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
var/name = ""
|
||||
var/list/datum/uplink_item/items
|
||||
var/list/datum/antagonist/antag_roles
|
||||
var/list/restricted_antags
|
||||
|
||||
/datum/uplink_category/New()
|
||||
..()
|
||||
@@ -11,23 +12,30 @@
|
||||
if(!LAZYLEN(antag_roles))
|
||||
for(var/datum/uplink_item/item in items)
|
||||
if(item.can_view(U))
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
for(var/antag_role in restricted_antags)
|
||||
var/datum/antagonist/antag = all_antag_types[antag_role]
|
||||
if(antag.is_antagonist(U.uplink_owner))
|
||||
return FALSE
|
||||
|
||||
for(var/antag_role in antag_roles)
|
||||
var/datum/antagonist/antag = all_antag_types[antag_role]
|
||||
if(antag.is_antagonist(U.uplink_owner))
|
||||
return 1
|
||||
return 0
|
||||
return TRUE
|
||||
return FALSE
|
||||
|
||||
/datum/uplink_category/ammunition
|
||||
name = "Ammunition"
|
||||
|
||||
/datum/uplink_category/grenades
|
||||
name = "Grenades and Thrown Objects"
|
||||
restricted_antags = list(MODE_BURGLAR)
|
||||
|
||||
/datum/uplink_category/visible_weapons
|
||||
name = "Highly Visible and Dangerous Weapons"
|
||||
restricted_antags = list(MODE_BURGLAR)
|
||||
|
||||
/datum/uplink_category/stealthy_weapons
|
||||
name = "Stealthy and Inconspicuous Weapons"
|
||||
@@ -55,12 +63,15 @@
|
||||
|
||||
/datum/uplink_category/exosuit
|
||||
name = "Exosuit"
|
||||
restricted_antags = list(MODE_BURGLAR)
|
||||
|
||||
/datum/uplink_category/exosuit_equipment
|
||||
name = "Exosuit Equipment"
|
||||
restricted_antags = list(MODE_BURGLAR)
|
||||
|
||||
/datum/uplink_category/corporate_equipment
|
||||
name = "Corporate Equipment"
|
||||
restricted_antags = list(MODE_BURGLAR)
|
||||
|
||||
/datum/uplink_category/telecrystals
|
||||
name = "Telecrystals"
|
||||
|
||||
@@ -48,6 +48,8 @@
|
||||
switch(freq)
|
||||
if(NINJ_FREQ)
|
||||
R = new/obj/item/device/radio/headset/ninja(player)
|
||||
if(BURG_FREQ)
|
||||
R = new /obj/item/device/radio/headset/burglar(player)
|
||||
if(SYND_FREQ)
|
||||
R = new/obj/item/device/radio/headset/syndicate(player)
|
||||
if(RAID_FREQ)
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
var/datum/antagonist/burglar/burglars
|
||||
|
||||
/datum/antagonist/burglar
|
||||
id = MODE_BURGLAR
|
||||
role_text = "Burglar"
|
||||
role_text_plural = "Burglars"
|
||||
bantype = "burglar"
|
||||
antag_indicator = "burglar"
|
||||
landmark_id = "burglarspawn"
|
||||
welcome_text = "You are a Burglar, someone underequipped to deal with the station. You will probably not survive for the whole round, so don't sweat it if you die!<br>\
|
||||
Your (syndicate) sponsored uplink will grant you access to various tools you may need to attempt to accomplish your goal.<br>\
|
||||
You can use :H or :B to talk on your encrypted channel, which only you and your partner can read.<br>\
|
||||
<b>You have been outfitted with a special teleportation device, make sure to use it!</b>"
|
||||
flags = ANTAG_OVERRIDE_JOB | ANTAG_CLEAR_EQUIPMENT | ANTAG_CHOOSE_NAME | ANTAG_VOTABLE | ANTAG_SET_APPEARANCE | ANTAG_HAS_LEADER
|
||||
antaghud_indicator = "hudburglar"
|
||||
required_age = 7
|
||||
|
||||
hard_cap = 2
|
||||
hard_cap_round = 3
|
||||
initial_spawn_req = 1
|
||||
initial_spawn_target = 2
|
||||
|
||||
faction = "syndicate"
|
||||
|
||||
id_type = /obj/item/card/id/syndicate
|
||||
|
||||
/datum/antagonist/burglar/New()
|
||||
..()
|
||||
burglars = src
|
||||
|
||||
/datum/antagonist/burglar/update_access(var/mob/living/player)
|
||||
for(var/obj/item/storage/wallet/W in player.contents)
|
||||
for(var/obj/item/card/id/id in W.contents)
|
||||
id.name = "[player.real_name]'s Passport"
|
||||
id.registered_name = player.real_name
|
||||
W.name = "[initial(W.name)] ([id.name])"
|
||||
|
||||
/datum/antagonist/burglar/equip(var/mob/living/carbon/human/player)
|
||||
if(!..())
|
||||
return FALSE
|
||||
|
||||
for(var/obj/item/I in player)
|
||||
if(istype(I, /obj/item/implant))
|
||||
continue
|
||||
player.drop_from_inventory(I)
|
||||
if(I.loc != player)
|
||||
qdel(I)
|
||||
|
||||
player.preEquipOutfit(/datum/outfit/admin/syndicate/raider/burglar, FALSE)
|
||||
player.equipOutfit(/datum/outfit/admin/syndicate/raider/burglar, FALSE)
|
||||
player.force_update_limbs()
|
||||
player.update_eyes()
|
||||
player.regenerate_icons()
|
||||
|
||||
return TRUE
|
||||
|
||||
/datum/antagonist/burglar/get_antag_radio()
|
||||
return "Burglar"
|
||||
@@ -0,0 +1,12 @@
|
||||
// lowpop heist
|
||||
|
||||
/datum/game_mode/burglars
|
||||
name = "burglars"
|
||||
config_tag = "burglars"
|
||||
required_players = 5
|
||||
max_players = 15
|
||||
required_enemies = 2
|
||||
round_description = "Something tiny is on the horizon! Is it the distance, or...?"
|
||||
extended_round_description = "Two of the Orion Spur's best and brightest (or so they were told) have been tasked with burglarizing a station that will change the way capitalism grips this galaxy forever (or so they were told). It is up to the crew to repel them, and up to them to survive and possibly thrive."
|
||||
end_on_antag_death = FALSE
|
||||
antag_tags = list(MODE_BURGLAR)
|
||||
@@ -0,0 +1,9 @@
|
||||
/datum/game_mode/conflict
|
||||
name = "Conflict (Burglar+Heist)"
|
||||
round_description = "Two underprepared teams of fools pick the same day to rob a highly valuable space station."
|
||||
extended_round_description = "Burglars and heisters spawn during this round."
|
||||
config_tag = "conflict"
|
||||
required_players = 15
|
||||
required_enemies = 6
|
||||
antag_tags = list(MODE_RAIDER, MODE_BURGLAR)
|
||||
require_all_templates = TRUE
|
||||
@@ -390,6 +390,8 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
|
||||
SSfeedback.msg_raider += blackbox_msg
|
||||
if(NINJ_FREQ)
|
||||
SSfeedback.msg_ninja += blackbox_msg
|
||||
if(BURG_FREQ)
|
||||
SSfeedback.msg_burglar += blackbox_msg
|
||||
if(SUP_FREQ)
|
||||
SSfeedback.msg_cargo += blackbox_msg
|
||||
if(SRV_FREQ)
|
||||
@@ -578,6 +580,8 @@ var/message_delay = 0 // To make sure restarting the recentmessages list is kept
|
||||
SSfeedback.msg_raider += blackbox_msg
|
||||
if(NINJ_FREQ)
|
||||
SSfeedback.msg_ninja += blackbox_msg
|
||||
if(BURG_FREQ)
|
||||
SSfeedback.msg_burglar += blackbox_msg
|
||||
if(SUP_FREQ)
|
||||
SSfeedback.msg_cargo += blackbox_msg
|
||||
if(SRV_FREQ)
|
||||
|
||||
@@ -13,4 +13,5 @@
|
||||
|
||||
#define CHANNEL_RAIDER "Raider"
|
||||
#define CHANNEL_MERCENARY "Mercenary"
|
||||
#define CHANNEL_NINJA "Ninja"
|
||||
#define CHANNEL_NINJA "Ninja"
|
||||
#define CHANNEL_BURGLAR "Burglar"
|
||||
@@ -28,6 +28,12 @@
|
||||
origin_tech = list(TECH_ILLEGAL = 2)
|
||||
syndie = TRUE
|
||||
|
||||
/obj/item/device/encryptionkey/burglar
|
||||
icon_state = "cypherkey"
|
||||
channels = list(CHANNEL_COMMON = TRUE, CHANNEL_ENTERTAINMENT = TRUE, CHANNEL_BURGLAR = TRUE)
|
||||
origin_tech = list(TECH_ILLEGAL = 2)
|
||||
syndie = TRUE
|
||||
|
||||
/obj/item/device/encryptionkey/ninja
|
||||
icon_state = "cypherkey"
|
||||
channels = list(CHANNEL_COMMON = TRUE, CHANNEL_ENTERTAINMENT = TRUE, CHANNEL_NINJA = TRUE)
|
||||
|
||||
@@ -413,6 +413,12 @@
|
||||
syndie = 1
|
||||
ks1type = /obj/item/device/encryptionkey/raider
|
||||
|
||||
/obj/item/device/radio/headset/burglar
|
||||
icon_state = "syn_headset"
|
||||
origin_tech = list(TECH_ILLEGAL = 2)
|
||||
syndie = TRUE
|
||||
ks1type = /obj/item/device/encryptionkey/burglar
|
||||
|
||||
/obj/item/device/radio/headset/ninja
|
||||
icon_state = "syn_headset"
|
||||
origin_tech = list(TECH_ILLEGAL = 3)
|
||||
|
||||
@@ -413,8 +413,12 @@ A list of items and costs is stored under the datum of every game mode, alongsid
|
||||
/obj/item/device/special_uplink/ninja
|
||||
name = "infiltrator uplink"
|
||||
|
||||
/obj/item/device/special_uplink/burglar
|
||||
name = "sponsored uplink"
|
||||
starting_telecrystals = 15
|
||||
|
||||
/obj/item/device/special_uplink/rev
|
||||
name = "station bounced radio"
|
||||
desc = null // SBRs have no desc
|
||||
icon_state = "walkietalkie" // more incognito
|
||||
starting_telecrystals = DEFAULT_TELECRYSTAL_AMOUNT * 2
|
||||
starting_telecrystals = DEFAULT_TELECRYSTAL_AMOUNT * 2
|
||||
@@ -82,3 +82,83 @@
|
||||
src.icon_state = "c-4detonator_0"
|
||||
to_chat(user, "You close the lighter.")
|
||||
pr_open = 0
|
||||
|
||||
/obj/item/syndie/teleporter
|
||||
name = "pen"
|
||||
desc = "An instrument for writing or drawing with ink. This one is in black, in a classic, grey casing. Stylish, classic and professional."
|
||||
desc_antag = "While this may look like a bog-standard pen, in reality, this is a handheld teleportation device. Simply click on any turf within view to attempt to teleport there! The teleporter will recharge after a minute."
|
||||
icon = 'icons/obj/bureaucracy.dmi'
|
||||
icon_state = "pen"
|
||||
item_state = "pen"
|
||||
slot_flags = SLOT_BELT | SLOT_EARS
|
||||
throwforce = 0
|
||||
w_class = ITEMSIZE_TINY
|
||||
throw_speed = 7
|
||||
throw_range = 15
|
||||
drop_sound = 'sound/items/drop/accessory.ogg'
|
||||
pickup_sound = 'sound/items/pickup/accessory.ogg'
|
||||
maptext_x = 3
|
||||
maptext_y = 2
|
||||
var/ready_to_use = TRUE
|
||||
var/recharge_time = 1 MINUTE
|
||||
var/held_maptext = "<span style=\"font-family: 'Small Fonts'; -dm-text-outline: 1 black; font-size: 7px;\">Ready</span>"
|
||||
|
||||
/obj/item/syndie/teleporter/Initialize()
|
||||
. = ..()
|
||||
if(ismob(loc) || ismob(loc.loc))
|
||||
maptext = held_maptext
|
||||
|
||||
/obj/item/syndie/teleporter/attack()
|
||||
return
|
||||
|
||||
/obj/item/syndie/teleporter/afterattack(atom/target, mob/user, proximity_flag, click_parameters)
|
||||
if(!ready_to_use)
|
||||
to_chat(user, SPAN_WARNING("\The [src] isn't ready to use yet!"))
|
||||
return
|
||||
var/turf/T = target
|
||||
if(!istype(T))
|
||||
T = get_turf(target)
|
||||
if(!T)
|
||||
to_chat(user, SPAN_WARNING("Something has gone terribly wrong while choosing a target, please try again somewhere else!"))
|
||||
return
|
||||
if(T.density || T.contains_dense_objects())
|
||||
to_chat(user, SPAN_WARNING("You cannot teleport to a location with solid objects!"))
|
||||
return
|
||||
|
||||
user.visible_message("<b>[user]</b> blinks into nothingness!", SPAN_NOTICE("You jump into the nothing."))
|
||||
user.forceMove(T)
|
||||
spark(user, 3, alldirs)
|
||||
user.visible_message("<b>[user]</b> appears out of thin air!", SPAN_NOTICE("You successfully step into your destination."))
|
||||
use()
|
||||
|
||||
/obj/item/syndie/teleporter/proc/check_maptext(var/new_maptext)
|
||||
if(new_maptext)
|
||||
held_maptext = new_maptext
|
||||
if(ismob(loc) || ismob(loc.loc))
|
||||
maptext = held_maptext
|
||||
else
|
||||
maptext = ""
|
||||
|
||||
/obj/item/syndie/teleporter/proc/use()
|
||||
addtimer(CALLBACK(src, .proc/recharge), recharge_time)
|
||||
ready_to_use = FALSE
|
||||
check_maptext("<span style=\"font-family: 'Small Fonts'; -dm-text-outline: 1 black; font-size: 6px;\">Charge</span>")
|
||||
|
||||
/obj/item/syndie/teleporter/proc/recharge()
|
||||
ready_to_use = TRUE
|
||||
check_maptext("<span style=\"font-family: 'Small Fonts'; -dm-text-outline: 1 black; font-size: 7px;\">Ready</span>")
|
||||
|
||||
/obj/item/syndie/teleporter/throw_at()
|
||||
..()
|
||||
check_maptext()
|
||||
|
||||
/obj/item/syndie/teleporter/dropped()
|
||||
..()
|
||||
check_maptext()
|
||||
|
||||
/obj/item/syndie/teleporter/on_give()
|
||||
check_maptext()
|
||||
|
||||
/obj/item/syndie/teleporter/pickup()
|
||||
..()
|
||||
addtimer(CALLBACK(src, .proc/check_maptext), 1)
|
||||
@@ -144,6 +144,9 @@ obj/item/clothing/shoes/sandal/clogs
|
||||
icon_state = "oxford_black"
|
||||
item_state = "oxford_black"
|
||||
|
||||
/obj/item/clothing/shoes/laceup/all_species
|
||||
species_restricted = null
|
||||
|
||||
/obj/item/clothing/shoes/laceup/grey
|
||||
name = "grey oxford shoes"
|
||||
icon_state = "oxford_grey"
|
||||
@@ -154,6 +157,9 @@ obj/item/clothing/shoes/sandal/clogs
|
||||
icon_state = "oxford_brown"
|
||||
item_state = "oxford_brown"
|
||||
|
||||
/obj/item/clothing/shoes/laceup/brown/all_species
|
||||
species_restricted = null
|
||||
|
||||
/obj/item/clothing/shoes/swimmingfins
|
||||
desc = "Help you swim good."
|
||||
name = "swimming fins"
|
||||
|
||||
@@ -58,7 +58,7 @@
|
||||
..()
|
||||
|
||||
/obj/item/clothing/suit/armor/vest
|
||||
name = "armor"
|
||||
name = "armored vest"
|
||||
desc = "An armored vest that protects against some damage."
|
||||
icon_state = "armor"
|
||||
item_state = "armor"
|
||||
|
||||
@@ -13,6 +13,7 @@ var/list/department_radio_keys = list(
|
||||
":w" = "whisper", ".w" = "whisper",
|
||||
":t" = "Mercenary", ".t" = "Mercenary",
|
||||
":x" = "Raider", ".x" = "Raider",
|
||||
":b" = "Burglar", ".b" = "Burglar",
|
||||
":q" = "Ninja", ".q" = "Ninja",
|
||||
":u" = "Supply", ".u" = "Supply",
|
||||
":v" = "Service", ".v" = "Service",
|
||||
@@ -32,6 +33,7 @@ var/list/department_radio_keys = list(
|
||||
":W" = "whisper", ".W" = "whisper",
|
||||
":T" = "Mercenary", ".T" = "Mercenary",
|
||||
":X" = "Raider", ".X" = "Raider",
|
||||
":B" = "Burglar", ".B" = "Burglar",
|
||||
":Q" = "Ninja", ".Q" = "Ninja",
|
||||
":U" = "Supply", ".U" = "Supply",
|
||||
":V" = "Service", ".V" = "Service",
|
||||
|
||||
@@ -4,6 +4,12 @@
|
||||
shuttle_tag = "Skipjack"
|
||||
light_color = LIGHT_COLOR_RED
|
||||
|
||||
/obj/machinery/computer/shuttle_control/multi/burglar
|
||||
name = "pod control console"
|
||||
req_access = list(access_syndicate)
|
||||
shuttle_tag = "Burglar Pod"
|
||||
light_color = LIGHT_COLOR_RED
|
||||
|
||||
/obj/machinery/computer/shuttle_control/multi/antag/syndicate
|
||||
name = "mercenary shuttle control console"
|
||||
req_access = list(access_syndicate)
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
author: Geeves
|
||||
|
||||
delete-after: True
|
||||
|
||||
changes:
|
||||
- rscadd: "Added a lowpop gamemode called 'Burglars', featuring a new type of antagonist, a mix between a heister and a traitor. Neutered for lowpop fun."
|
||||
- rscadd: "Added a mixed gamemode, 'Conflict', which is heisters and burglars."
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 7.3 KiB After Width: | Height: | Size: 7.4 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 198 KiB After Width: | Height: | Size: 198 KiB |
@@ -254,6 +254,17 @@
|
||||
name = "Kataphract Chapter - Hull"
|
||||
icon_state = "blue"
|
||||
|
||||
/area/burglar_base
|
||||
name = "Burglar Base"
|
||||
icon_state = "yellow"
|
||||
requires_power = FALSE
|
||||
no_light_control = TRUE
|
||||
|
||||
/area/burglar_base/pod
|
||||
name = "Burglar Pod"
|
||||
base_turf = /turf/space
|
||||
flags = SPAWN_ROOF
|
||||
|
||||
/area/skipjack_station
|
||||
name = "Skipjack"
|
||||
icon_state = "yellow"
|
||||
|
||||
+1274
-779
File diff suppressed because it is too large
Load Diff
@@ -316,6 +316,10 @@
|
||||
/obj/structure/lattice/catwalk,
|
||||
/turf/template_noop,
|
||||
/area/engineering/cooling)
|
||||
"Q" = (
|
||||
/obj/effect/shuttle_landmark/burglar/under,
|
||||
/turf/template_noop,
|
||||
/area/template_noop)
|
||||
|
||||
(1,1,1) = {"
|
||||
a
|
||||
@@ -9173,7 +9177,7 @@ a
|
||||
a
|
||||
a
|
||||
a
|
||||
a
|
||||
Q
|
||||
a
|
||||
a
|
||||
a
|
||||
|
||||
@@ -3225,8 +3225,8 @@
|
||||
},
|
||||
/obj/effect/floor_decal/industrial/outline/grey,
|
||||
/obj/machinery/light{
|
||||
dir = 1;
|
||||
icon_state = "tube1"
|
||||
icon_state = "tube1";
|
||||
dir = 1
|
||||
},
|
||||
/turf/simulated/floor/tiled{
|
||||
name = "cooled floor";
|
||||
@@ -4345,8 +4345,8 @@
|
||||
/area/maintenance/atmos_control)
|
||||
"aij" = (
|
||||
/obj/machinery/light{
|
||||
dir = 1;
|
||||
icon_state = "tube1"
|
||||
icon_state = "tube1";
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/closet/crate,
|
||||
/obj/random/loot,
|
||||
@@ -5702,8 +5702,8 @@
|
||||
/area/engineering/atmos/storage)
|
||||
"akJ" = (
|
||||
/obj/machinery/light{
|
||||
dir = 1;
|
||||
icon_state = "tube1"
|
||||
icon_state = "tube1";
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/requests_console{
|
||||
department = "Atmospherics";
|
||||
@@ -6959,8 +6959,8 @@
|
||||
dir = 5
|
||||
},
|
||||
/obj/machinery/light{
|
||||
dir = 1;
|
||||
icon_state = "tube1"
|
||||
icon_state = "tube1";
|
||||
dir = 1
|
||||
},
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/security/brig)
|
||||
@@ -22360,8 +22360,8 @@
|
||||
/area/crew_quarters/heads/chief)
|
||||
"aMM" = (
|
||||
/obj/machinery/light{
|
||||
dir = 1;
|
||||
icon_state = "tube1"
|
||||
icon_state = "tube1";
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/firealarm/north,
|
||||
/obj/structure/filingcabinet/chestdrawer,
|
||||
@@ -24774,8 +24774,8 @@
|
||||
/area/journalistoffice)
|
||||
"aRe" = (
|
||||
/obj/machinery/light{
|
||||
dir = 1;
|
||||
icon_state = "tube1"
|
||||
icon_state = "tube1";
|
||||
dir = 1
|
||||
},
|
||||
/turf/simulated/floor/wood,
|
||||
/area/journalistoffice)
|
||||
@@ -24956,8 +24956,8 @@
|
||||
dir = 6
|
||||
},
|
||||
/obj/machinery/light{
|
||||
dir = 1;
|
||||
icon_state = "tube1"
|
||||
icon_state = "tube1";
|
||||
dir = 1
|
||||
},
|
||||
/turf/simulated/floor/tiled/dark,
|
||||
/area/bridge/meeting_room)
|
||||
@@ -27748,8 +27748,8 @@
|
||||
icon_state = "0-2"
|
||||
},
|
||||
/obj/machinery/light{
|
||||
dir = 1;
|
||||
icon_state = "tube1"
|
||||
icon_state = "tube1";
|
||||
dir = 1
|
||||
},
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/janitor)
|
||||
@@ -30763,8 +30763,8 @@
|
||||
/obj/item/reagent_containers/spray/cleaner,
|
||||
/obj/effect/floor_decal/corner/paleblue/diagonal,
|
||||
/obj/machinery/light{
|
||||
dir = 1;
|
||||
icon_state = "tube1"
|
||||
icon_state = "tube1";
|
||||
dir = 1
|
||||
},
|
||||
/turf/simulated/floor/tiled/white,
|
||||
/area/assembly/robotics_cyborgification)
|
||||
@@ -34798,8 +34798,8 @@
|
||||
/obj/item/stack/cable_coil,
|
||||
/obj/item/stack/cable_coil,
|
||||
/obj/machinery/light{
|
||||
dir = 1;
|
||||
icon_state = "tube1"
|
||||
icon_state = "tube1";
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/floor_decal/industrial/outline/yellow,
|
||||
/obj/machinery/alarm{
|
||||
@@ -35288,8 +35288,8 @@
|
||||
department = "Chief Medical Officer's Office"
|
||||
},
|
||||
/obj/machinery/light{
|
||||
dir = 1;
|
||||
icon_state = "tube1"
|
||||
icon_state = "tube1";
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/newscaster{
|
||||
pixel_y = 32
|
||||
@@ -36250,8 +36250,8 @@
|
||||
/obj/machinery/disposal,
|
||||
/obj/structure/disposalpipe/trunk,
|
||||
/obj/machinery/light{
|
||||
dir = 1;
|
||||
icon_state = "tube1"
|
||||
icon_state = "tube1";
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/floor_decal/corner/grey/diagonal,
|
||||
/turf/simulated/floor/tiled/white,
|
||||
@@ -36439,8 +36439,8 @@
|
||||
/area/medical/medbay2)
|
||||
"blv" = (
|
||||
/obj/machinery/light{
|
||||
dir = 1;
|
||||
icon_state = "tube1"
|
||||
icon_state = "tube1";
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/flora/pottedplant/random,
|
||||
/obj/effect/floor_decal/corner_wide/green{
|
||||
@@ -36507,8 +36507,8 @@
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/light{
|
||||
dir = 1;
|
||||
icon_state = "tube1"
|
||||
icon_state = "tube1";
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/power/apc{
|
||||
dir = 1;
|
||||
@@ -38228,8 +38228,8 @@
|
||||
"boJ" = (
|
||||
/obj/structure/table/standard,
|
||||
/obj/machinery/light{
|
||||
dir = 1;
|
||||
icon_state = "tube1"
|
||||
icon_state = "tube1";
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/sign/nosmoking_1{
|
||||
pixel_y = 32
|
||||
@@ -39927,8 +39927,8 @@
|
||||
req_access = list(5)
|
||||
},
|
||||
/obj/machinery/light{
|
||||
dir = 1;
|
||||
icon_state = "tube1"
|
||||
icon_state = "tube1";
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/disposalpipe/segment{
|
||||
dir = 4
|
||||
@@ -46491,8 +46491,8 @@
|
||||
/area/medical/surgeryobs)
|
||||
"bFL" = (
|
||||
/obj/machinery/light{
|
||||
dir = 1;
|
||||
icon_state = "tube1"
|
||||
icon_state = "tube1";
|
||||
dir = 1
|
||||
},
|
||||
/obj/structure/bed/chair/plastic{
|
||||
dir = 4
|
||||
@@ -50267,8 +50267,8 @@
|
||||
/obj/effect/floor_decal/corner/red/diagonal,
|
||||
/obj/item/stool/padded,
|
||||
/obj/machinery/light{
|
||||
dir = 1;
|
||||
icon_state = "tube1"
|
||||
icon_state = "tube1";
|
||||
dir = 1
|
||||
},
|
||||
/turf/simulated/floor/tiled/white,
|
||||
/area/hallway/primary/aft)
|
||||
@@ -50333,8 +50333,8 @@
|
||||
/obj/structure/table/stone/marble,
|
||||
/obj/item/reagent_containers/glass/beaker/large,
|
||||
/obj/machinery/light{
|
||||
dir = 1;
|
||||
icon_state = "tube1"
|
||||
icon_state = "tube1";
|
||||
dir = 1
|
||||
},
|
||||
/turf/simulated/floor/tiled/white,
|
||||
/area/crew_quarters/kitchen)
|
||||
@@ -51608,8 +51608,8 @@
|
||||
/area/chapel/main)
|
||||
"bSG" = (
|
||||
/obj/machinery/light{
|
||||
dir = 1;
|
||||
icon_state = "tube1"
|
||||
icon_state = "tube1";
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers{
|
||||
dir = 4
|
||||
@@ -53354,8 +53354,8 @@
|
||||
icon_state = "pipe-c"
|
||||
},
|
||||
/obj/machinery/light{
|
||||
dir = 1;
|
||||
icon_state = "tube1"
|
||||
icon_state = "tube1";
|
||||
dir = 1
|
||||
},
|
||||
/obj/machinery/papershredder,
|
||||
/turf/simulated/floor/tiled,
|
||||
@@ -57412,8 +57412,8 @@
|
||||
pixel_y = 32
|
||||
},
|
||||
/obj/machinery/light{
|
||||
dir = 1;
|
||||
icon_state = "tube1"
|
||||
icon_state = "tube1";
|
||||
dir = 1
|
||||
},
|
||||
/obj/effect/floor_decal/industrial/outline/yellow,
|
||||
/obj/structure/closet/crate,
|
||||
@@ -64113,6 +64113,10 @@
|
||||
},
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/engineering/foyer)
|
||||
"oGq" = (
|
||||
/obj/effect/shuttle_landmark/burglar/caverns,
|
||||
/turf/unsimulated/floor/asteroid/ash/rocky,
|
||||
/area/mine/unexplored)
|
||||
"oGG" = (
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/obj/machinery/atmospherics/pipe/simple/hidden/scrubbers,
|
||||
@@ -66493,8 +66497,8 @@
|
||||
/area/assembly/robotics_cyborgification)
|
||||
"tQm" = (
|
||||
/obj/machinery/light{
|
||||
dir = 1;
|
||||
icon_state = "tube1"
|
||||
icon_state = "tube1";
|
||||
dir = 1
|
||||
},
|
||||
/turf/simulated/floor/tiled,
|
||||
/area/hallway/primary/port)
|
||||
@@ -96228,7 +96232,7 @@ aaa
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
oGq
|
||||
aab
|
||||
aab
|
||||
aab
|
||||
|
||||
@@ -25293,6 +25293,7 @@
|
||||
/obj/effect/landmark{
|
||||
name = "carpspawn"
|
||||
},
|
||||
/obj/effect/shuttle_landmark/burglar/surface,
|
||||
/turf/unsimulated/floor/asteroid/ash,
|
||||
/area/mine/explored)
|
||||
"Xi" = (
|
||||
|
||||
@@ -79,6 +79,7 @@
|
||||
/datum/shuttle/autodock/ferry/autoreturn/ccia,
|
||||
/datum/shuttle/autodock/ferry/specops/ert_aurora,
|
||||
/datum/shuttle/autodock/multi/antag/skipjack_aurora,
|
||||
/datum/shuttle/autodock/multi/antag/burglar_aurora,
|
||||
/datum/shuttle/autodock/multi/antag/merc_aurora,
|
||||
/datum/shuttle/autodock/ferry/legion,
|
||||
/datum/shuttle/autodock/ferry/research_aurora,
|
||||
|
||||
@@ -226,6 +226,52 @@ AURORA_ESCAPE_POD(3)
|
||||
special_dock_targets = list("Phoenix Shuttle" = "specops_shuttle_fore")
|
||||
landmark_flags = SLANDMARK_FLAG_AUTOSET
|
||||
|
||||
//Burglar Pod
|
||||
/datum/shuttle/autodock/multi/antag/burglar_aurora
|
||||
name = "Burglar Pod"
|
||||
current_location = "nav_burglar_start"
|
||||
landmark_transition = "nav_burglar_interim"
|
||||
warmup_time = 10
|
||||
move_time = 75
|
||||
ceiling_type = /turf/simulated/shuttle_roof/dark
|
||||
shuttle_area = /area/burglar_base/pod
|
||||
destination_tags = list(
|
||||
"nav_burglar_start",
|
||||
"nav_burglar_surface",
|
||||
"nav_burglar_under",
|
||||
"nav_burglar_caverns"
|
||||
)
|
||||
|
||||
announcer = "NDV Icarus"
|
||||
arrival_message = "Attention, we just tracked a small target bypassing our defensive perimeter. Can't fire on it without hitting the station - you've got incoming visitors, like it or not."
|
||||
departure_message = "Attention, your guests are pulling away - moving too fast for us to draw a bead on them. Looks like they're heading out of the system at a rapid clip."
|
||||
|
||||
/obj/effect/shuttle_landmark/burglar/start
|
||||
name = "Homebase"
|
||||
landmark_tag = "nav_burglar_start"
|
||||
base_turf = /turf/space
|
||||
|
||||
/obj/effect/shuttle_landmark/burglar/interim
|
||||
name = "In Transit"
|
||||
landmark_tag = "nav_burglar_interim"
|
||||
base_turf = /turf/space/transit
|
||||
|
||||
/obj/effect/shuttle_landmark/burglar/surface
|
||||
name = "Surface Aft of Cargo"
|
||||
landmark_tag = "nav_burglar_surface"
|
||||
landmark_flags = SLANDMARK_FLAG_AUTOSET
|
||||
|
||||
/obj/effect/shuttle_landmark/burglar/under
|
||||
name = "Under the Station"
|
||||
landmark_tag = "nav_burglar_under"
|
||||
landmark_flags = SLANDMARK_FLAG_AUTOSET
|
||||
base_turf = /turf/space
|
||||
|
||||
/obj/effect/shuttle_landmark/burglar/caverns
|
||||
name = "Caverns by Mining"
|
||||
landmark_tag = "nav_burglar_caverns"
|
||||
landmark_flags = SLANDMARK_FLAG_AUTOSET
|
||||
|
||||
//Skipjack.
|
||||
/datum/shuttle/autodock/multi/antag/skipjack_aurora
|
||||
name = "Skipjack"
|
||||
|
||||
Reference in New Issue
Block a user