mirror of
https://github.com/Aurorastation/Aurora.3.git
synced 2026-08-24 05:23:22 +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:
@@ -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)
|
||||
Reference in New Issue
Block a user