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:
Geeves
2020-06-29 09:35:18 +03:00
committed by GitHub
parent ad4f9b130f
commit 05f6e81c60
30 changed files with 1711 additions and 836 deletions
+90
View File
@@ -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
+15 -4
View File
@@ -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"