mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-26 22:50:26 +01:00
[MDB IGNORE] Adds summon beacons for command pets, secmed locker, and commandrobes (#14658)
* command beacons * readme * secmedic landmark * template change * Revert "secmedic landmark" This reverts commit fb0b4cf88b69db6cfe88ca81fa7265521fb5952d. * Revert "template change" This reverts commit fd45f05f2e4f471745c85458ceab7ec1bcaf8b2d. * Revert "Revert "secmedic landmark"" This reverts commit c50dd63f9c481641c1178c43f4e0c3e9992ec555. * templates: attempt 2 * Update map_resetting.md * Apply suggestions from code review Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com> * clean them out of blueshift * delete advanced_choice_beacon.dm * missed * wew * radial support Co-authored-by: Tom <8881105+tf-4@users.noreply.github.com>
This commit is contained in:
@@ -305,7 +305,6 @@
|
||||
/turf/open/floor/iron,
|
||||
/area/station/engineering/main)
|
||||
"adB" = (
|
||||
/obj/structure/closet/secure_closet/security_medic,
|
||||
/obj/machinery/atmospherics/components/unary/vent_pump/on/layer4,
|
||||
/turf/open/floor/carpet/red,
|
||||
/area/station/security/medical)
|
||||
@@ -8981,7 +8980,6 @@
|
||||
"cuc" = (
|
||||
/obj/structure/cable,
|
||||
/obj/structure/disposalpipe/segment,
|
||||
/mob/living/simple_animal/pet/dog/markus,
|
||||
/obj/machinery/holopad,
|
||||
/turf/open/floor/iron,
|
||||
/area/station/cargo/office)
|
||||
@@ -18828,7 +18826,6 @@
|
||||
"fSO" = (
|
||||
/obj/structure/flora/bush/fullgrass,
|
||||
/obj/structure/flora/bush/lavendergrass,
|
||||
/mob/living/simple_animal/pet/bumbles,
|
||||
/obj/machinery/atmospherics/pipe/smart/simple/scrubbers/hidden/layer2{
|
||||
dir = 5
|
||||
},
|
||||
@@ -72879,7 +72876,6 @@
|
||||
/turf/open/floor/iron,
|
||||
/area/station/commons/storage/tools)
|
||||
"xWK" = (
|
||||
/mob/living/simple_animal/pet/poppy,
|
||||
/obj/effect/turf_decal/tile/yellow{
|
||||
dir = 1
|
||||
},
|
||||
|
||||
@@ -45387,7 +45387,7 @@
|
||||
/obj/effect/turf_decal/siding/wood{
|
||||
dir = 8
|
||||
},
|
||||
/obj/machinery/vending/access/command,
|
||||
/obj/machinery/vending/autodrobe/all_access,
|
||||
/turf/open/floor/iron/dark,
|
||||
/area/station/command/meeting_room/council)
|
||||
"pqB" = (
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
+11
-2
@@ -5,6 +5,7 @@
|
||||
|
||||
## Map resetting /TG/ maps
|
||||
|
||||
|
||||
TG maps do periodically need to be reset to what they are upstream.
|
||||
In the event some major repathing occurs, which would otherwise render the map useless, the maps will need to be reset. Some **CRITICAL** things need to be brought over. These **CRITICAL** things are necessary for the flow of the game and round, in other words, they're **ROUND CRITICAL**.
|
||||
|
||||
@@ -24,6 +25,16 @@ Round Critical items are rooms/spawners/objs that are **REQUIRED** for the flow
|
||||
|
||||
- Arrival Shuttle Console
|
||||
|
||||
## Critical Changes:
|
||||
Critical changes are changes that **NEED** be reset during the main reset PR.
|
||||
- Security:
|
||||
- - Add Ammo Workbench
|
||||
- - Add Gun Vendor
|
||||
- Armory:
|
||||
- - Replace Disablers With Smartgun
|
||||
- - Replace Shotguns With Shotgun Spawners
|
||||
- - Replace Energy Guns With MCRS
|
||||
- - Replace Laser Guns With CMGs
|
||||
- Central Command Ferry Hangar (inside Arrival area)
|
||||
|
||||
### Security
|
||||
@@ -52,8 +63,6 @@ These are rooms/spawners/objs that aren't really required for the flow of the ro
|
||||
|
||||
- Xenoarch Base (Lavaland)
|
||||
|
||||
- Modular pets: E-N (Robotics), Poppy (Engineering), Bumbles (Hydroponics) and Markus (Cargo)
|
||||
|
||||
- Drone Dispensers added to all maps
|
||||
|
||||
- Cryopods (inside Recreational/Dormitory area)
|
||||
|
||||
@@ -30,3 +30,4 @@
|
||||
new /obj/item/gun/ballistic/rifle/boltaction/brand_new/quartermaster(src) // SKYRAT EDIT - The QM's 'special' head item. It spawns loaded, but you have to find more ammo if you run out and get ready to manually load rounds in!
|
||||
new /obj/item/cargo_teleporter(src) // SKYRAT EDIT - Adds a cargo teleporter to QM locker, so they can intice others to research it
|
||||
new /obj/item/clothing/glasses/hud/gun_permit/sunglasses(src) //SKYRAT EDIT - GUN CARGO
|
||||
new /obj/item/summon_beacon/markus(src) // SKYRAT EDIT ADDITION
|
||||
|
||||
@@ -22,6 +22,7 @@
|
||||
new /obj/item/storage/box/gas_miner_beacons(src) // SKYRAT EDIT ADDITION
|
||||
new /obj/item/construction/plumbing/engineering(src) //SKYRAT EDIT ADDITION
|
||||
new /obj/item/circuitboard/machine/rodstopper(src) //SKYRAT EDIT ADDITION
|
||||
new /obj/item/summon_beacon/poppy(src) //SKYRAT EDIT ADDITION
|
||||
|
||||
/obj/structure/closet/secure_closet/engineering_electrical
|
||||
name = "electrical supplies locker"
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
new /obj/item/circuitboard/machine/techfab/department/science(src)
|
||||
new /obj/item/storage/photo_album/rd(src)
|
||||
new /obj/item/storage/box/skillchips/science(src)
|
||||
new /obj/item/summon_beacon/borgi(src) // SKYRAT EDIT ADDITION
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
new /obj/item/storage/box/gunset/pdh_captain(src) // SKYRAT EDIT ADDITION
|
||||
new /obj/item/door_remote/captain(src)
|
||||
new /obj/item/storage/photo_album/captain(src)
|
||||
new /obj/item/summon_beacon/command_drobe(src) // SKYRAT EDIT ADDITION
|
||||
|
||||
/obj/structure/closet/secure_closet/hop
|
||||
name = "\proper head of personnel's locker"
|
||||
@@ -44,6 +45,7 @@
|
||||
new /obj/item/circuitboard/machine/techfab/department/service(src)
|
||||
new /obj/item/storage/photo_album/hop(src)
|
||||
new /obj/item/storage/lockbox/medal/hop(src)
|
||||
new /obj/item/summon_beacon/bumbles(src) // SKYRAT EDIT ADDITION
|
||||
|
||||
/obj/structure/closet/secure_closet/hos
|
||||
name = "\proper head of security's locker"
|
||||
|
||||
@@ -1,80 +0,0 @@
|
||||
/obj/item/advanced_choice_beacon
|
||||
name = "advanced choice beacon"
|
||||
desc = "A beacon that will send whatever your heart desires, providing Nanotrasen approves it."
|
||||
icon = 'icons/obj/device.dmi'
|
||||
icon_state = "gangtool-red"
|
||||
inhand_icon_state = "radio"
|
||||
|
||||
var/list/possible_choices = list()
|
||||
|
||||
var/pod_style = STYLE_CENTCOM
|
||||
|
||||
/obj/item/advanced_choice_beacon/attack_self(mob/user, modifiers)
|
||||
if(canUseBeacon(user))
|
||||
display_options(user)
|
||||
|
||||
/obj/item/advanced_choice_beacon/proc/canUseBeacon(mob/living/user)
|
||||
if(user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
|
||||
return TRUE
|
||||
else
|
||||
playsound(src, 'sound/machines/buzz-sigh.ogg', 40, TRUE)
|
||||
return FALSE
|
||||
|
||||
|
||||
/obj/item/advanced_choice_beacon/proc/display_options(mob/user)
|
||||
var/list/radial_build = get_available_options()
|
||||
|
||||
if(!radial_build)
|
||||
return
|
||||
|
||||
var/chosen_option = show_radial_menu(user, src, radial_build, radius = 40, tooltips = TRUE)
|
||||
|
||||
if(!chosen_option)
|
||||
return
|
||||
|
||||
podspawn(list(
|
||||
"target" = get_turf(src),
|
||||
"style" = pod_style,
|
||||
"spawn" = chosen_option,
|
||||
))
|
||||
|
||||
qdel(src)
|
||||
|
||||
/obj/item/advanced_choice_beacon/proc/get_available_options()
|
||||
var/list/options = list()
|
||||
for(var/iterating_choice in possible_choices)
|
||||
var/obj/our_object = iterating_choice
|
||||
var/datum/radial_menu_choice/option = new
|
||||
option.image = image(icon = initial(our_object.icon), icon_state = initial(our_object.icon_state))
|
||||
option.info = span_boldnotice("[initial(our_object.desc)]")
|
||||
|
||||
options[our_object] = option
|
||||
|
||||
sort_list(options)
|
||||
|
||||
return options
|
||||
|
||||
/obj/item/advanced_choice_beacon/exp_corps
|
||||
name = "vanguard operatives supply beacon"
|
||||
desc = "Used to request your job supplies, use in hand to do so!"
|
||||
|
||||
possible_choices = list(
|
||||
/obj/structure/closet/crate/secure/exp_corps/marksman,
|
||||
/obj/structure/closet/crate/secure/exp_corps/pointman,
|
||||
/obj/structure/closet/crate/secure/exp_corps/field_medic,
|
||||
/obj/structure/closet/crate/secure/exp_corps/combat_tech
|
||||
)
|
||||
|
||||
/obj/item/advanced_choice_beacon/exp_corps/get_available_options()
|
||||
var/list/options = list()
|
||||
for(var/iterating_choice in possible_choices)
|
||||
var/obj/structure/closet/crate/secure/exp_corps/our_crate = iterating_choice
|
||||
var/datum/radial_menu_choice/option = new
|
||||
option.image = image(icon = initial(our_crate.icon), icon_state = initial(our_crate.icon_state))
|
||||
option.info = span_boldnotice("[initial(our_crate.loadout_desc)]")
|
||||
|
||||
options[our_crate] = option
|
||||
|
||||
sort_list(options)
|
||||
|
||||
return options
|
||||
@@ -128,7 +128,7 @@
|
||||
/obj/item/clothing/suit/armor/vest/alt,
|
||||
/obj/item/clothing/suit/armor/vest/alt)
|
||||
crate_name = "armor crate"
|
||||
|
||||
|
||||
/datum/supply_pack/security/helmets
|
||||
name = "Helmets Crate"
|
||||
desc = "Contains three standard-issue brain buckets. Requires Security access to open."
|
||||
@@ -222,7 +222,7 @@
|
||||
name = "Gas Miner Delivery Beacon Crate"
|
||||
desc = "Contains a single gas miner delivery beacon, for the ordering of one gas miner."
|
||||
access = ACCESS_ATMOSPHERICS
|
||||
contains = list(/obj/item/gas_miner_beacon)
|
||||
contains = list(/obj/item/summon_beacon/gas_miner)
|
||||
cost = CARGO_CRATE_VALUE * 50
|
||||
crate_name = "gas miner delivery beacon crate"
|
||||
crate_type = /obj/structure/closet/crate/secure/engineering
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
|
||||
box = /obj/item/storage/box/survival/expeditionary_corps
|
||||
|
||||
backpack_contents = list(/obj/item/advanced_choice_beacon/exp_corps)
|
||||
backpack_contents = list(/obj/item/summon_beacon/vanguard)
|
||||
|
||||
id = /obj/item/card/id/advanced/silver/exp_corps
|
||||
id_trim = /datum/id_trim/job/expeditionary_trooper
|
||||
|
||||
@@ -1,107 +0,0 @@
|
||||
/obj/item/gas_miner_beacon
|
||||
name = "gas miner beacon"
|
||||
desc = "Once a gas miner type is selected, delivers a gas miner to the target location."
|
||||
icon = 'icons/obj/device.dmi'
|
||||
icon_state = "gangtool-blue"
|
||||
inhand_icon_state = "radio"
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
/// How many charges the beacon has left
|
||||
var/uses = 1
|
||||
/// A list of allowed areas that a miner can be spawned in
|
||||
var/static/list/allowed_areas = list(
|
||||
/area/station/engineering/atmos,
|
||||
/area/station/engineering/atmospherics_engine,
|
||||
)
|
||||
/// A list of possible gas miners available to spawn
|
||||
var/static/list/miners = list(
|
||||
/obj/machinery/atmospherics/miner/carbon_dioxide,
|
||||
/obj/machinery/atmospherics/miner/n2o,
|
||||
/obj/machinery/atmospherics/miner/nitrogen,
|
||||
/obj/machinery/atmospherics/miner/oxygen,
|
||||
/obj/machinery/atmospherics/miner/plasma,
|
||||
)
|
||||
/// The currently selected gas miner, if any
|
||||
var/obj/machinery/atmospherics/miner/selected_miner = null
|
||||
|
||||
/obj/item/gas_miner_beacon/examine()
|
||||
. = ..()
|
||||
. += span_warning("Caution: Only works in atmospherics areas.")
|
||||
. += span_notice("Currently selected: [selected_miner ? selected_miner.name : "None"].")
|
||||
|
||||
/obj/item/gas_miner_beacon/attack_self(mob/user)
|
||||
if(!can_use_beacon(user))
|
||||
return
|
||||
show_options(user)
|
||||
|
||||
/obj/item/gas_miner_beacon/proc/can_use_beacon(mob/living/user)
|
||||
if(user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
|
||||
return TRUE
|
||||
else
|
||||
playsound(src, 'sound/machines/buzz-sigh.ogg', 40, TRUE)
|
||||
return FALSE
|
||||
|
||||
/obj/item/gas_miner_beacon/proc/generate_display_names()
|
||||
var/list/miner_list = list()
|
||||
for(var/obj/machinery/atmospherics/miner/iterated_miner as anything in miners)
|
||||
miner_list[initial(iterated_miner.name)] = iterated_miner
|
||||
return miner_list
|
||||
|
||||
/obj/item/gas_miner_beacon/proc/show_options(mob/user)
|
||||
var/list/display_names = generate_display_names()
|
||||
if(!length(display_names))
|
||||
return
|
||||
var/choice = tgui_input_list(user, "Choose a miner", "Miner selection", display_names)
|
||||
if(isnull(choice))
|
||||
return
|
||||
if(isnull(display_names[choice]))
|
||||
return
|
||||
if(!user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
|
||||
return
|
||||
selected_miner = display_names[choice]
|
||||
|
||||
/obj/item/gas_miner_beacon/afterattack(atom/target, mob/user, proximity_flag, click_parameters)
|
||||
. = ..()
|
||||
if(!selected_miner)
|
||||
balloon_alert(user, "no miner selected!")
|
||||
return
|
||||
var/turf/target_turf = get_turf(target)
|
||||
var/area/target_area = get_area(target)
|
||||
if(!target_turf || !target_area || !is_type_in_list(target_area, allowed_areas))
|
||||
balloon_alert(user, "can't call here!")
|
||||
return
|
||||
|
||||
var/confirmed = tgui_alert(user, "Are you sure you want to call it here?", "Confirmation", list("Yes", "No"))
|
||||
if(confirmed != "Yes")
|
||||
return
|
||||
|
||||
podspawn(list(
|
||||
"target" = get_turf(target),
|
||||
"path" = /obj/structure/closet/supplypod/podspawn/no_return,
|
||||
"style" = STYLE_CENTCOM,
|
||||
"spawn" = selected_miner,
|
||||
))
|
||||
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/human_user = user
|
||||
if(istype(human_user.ears, /obj/item/radio/headset))
|
||||
to_chat(user, span_notice("You hear something crackle in your ears for a moment before a voice speaks. \
|
||||
\"Please stand by for a message from Central Command. Message as follows: \
|
||||
[span_bold("Request received. Your miner is inbound, please stand back from the landing site.")] \
|
||||
Message ends.\""))
|
||||
|
||||
uses--
|
||||
if(!uses)
|
||||
qdel(src)
|
||||
else
|
||||
balloon_alert(user, "[uses] use[uses > 1 ? "s" : ""] left!")
|
||||
|
||||
/obj/structure/closet/supplypod/podspawn/no_return
|
||||
bluespace = FALSE
|
||||
|
||||
/obj/item/storage/box/gas_miner_beacons
|
||||
name = "box of gas miner delivery beacons"
|
||||
desc = "Contains two beacons for delivery of atmospheric gas miners."
|
||||
|
||||
/obj/item/storage/box/gas_miner_beacons/PopulateContents()
|
||||
new /obj/item/gas_miner_beacon(src)
|
||||
new /obj/item/gas_miner_beacon(src)
|
||||
@@ -0,0 +1,252 @@
|
||||
/obj/item/summon_beacon
|
||||
name = "summoner beacon"
|
||||
desc = "Summons a thing. Probably shouldn't use this one, though."
|
||||
icon = 'icons/obj/device.dmi'
|
||||
icon_state = "gangtool-blue"
|
||||
inhand_icon_state = "radio"
|
||||
w_class = WEIGHT_CLASS_SMALL
|
||||
|
||||
/// How many uses the beacon has left
|
||||
var/uses = 1
|
||||
|
||||
/// A list of allowed areas that the atom can be spawned in
|
||||
var/list/allowed_areas = list(
|
||||
/area,
|
||||
)
|
||||
|
||||
/// A list of possible atoms available to spawn
|
||||
var/list/selectable_atoms = list(
|
||||
/obj/item/summon_beacon,
|
||||
)
|
||||
|
||||
/// The currently selected atom, if any
|
||||
var/atom/selected_atom = null
|
||||
|
||||
/// Descriptor of what area it should work in
|
||||
var/area_string = "any"
|
||||
|
||||
/// If the supply pod should stay or not
|
||||
var/supply_pod_stay = FALSE
|
||||
|
||||
/obj/item/summon_beacon/examine()
|
||||
. = ..()
|
||||
. += span_warning("Caution: Only works in [area_string].")
|
||||
. += span_notice("Currently selected: [selected_atom ? selected_atom.name : "None"].")
|
||||
|
||||
/obj/item/summon_beacon/attack_self(mob/user)
|
||||
if(!can_use_beacon(user))
|
||||
return
|
||||
if(length(selectable_atoms) == 1)
|
||||
selected_atom = selectable_atoms[1]
|
||||
return
|
||||
show_options(user)
|
||||
|
||||
/obj/item/summon_beacon/proc/can_use_beacon(mob/living/user)
|
||||
if(user.canUseTopic(src, BE_CLOSE, FALSE, NO_TK))
|
||||
return TRUE
|
||||
else
|
||||
playsound(src, 'sound/machines/buzz-sigh.ogg', 40, TRUE)
|
||||
return FALSE
|
||||
|
||||
/obj/item/summon_beacon/proc/generate_display_names()
|
||||
var/list/atom_list = list()
|
||||
for(var/atom/iterated_atom as anything in selectable_atoms)
|
||||
atom_list[initial(iterated_atom.name)] = iterated_atom
|
||||
return atom_list
|
||||
|
||||
/obj/item/summon_beacon/proc/show_options(mob/user)
|
||||
var/list/radial_build = get_available_options()
|
||||
if(!radial_build)
|
||||
return
|
||||
|
||||
selected_atom = show_radial_menu(user, src, radial_build, radius = 40, tooltips = TRUE)
|
||||
|
||||
/obj/item/summon_beacon/proc/get_available_options()
|
||||
var/list/options = list()
|
||||
for(var/iterating_choice in selectable_atoms)
|
||||
var/obj/our_object = iterating_choice
|
||||
var/datum/radial_menu_choice/option = new
|
||||
option.image = image(icon = initial(our_object.icon), icon_state = initial(our_object.icon_state))
|
||||
option.info = span_boldnotice("[initial(our_object.desc)]")
|
||||
|
||||
options[our_object] = option
|
||||
|
||||
sort_list(options)
|
||||
|
||||
return options
|
||||
|
||||
/obj/item/summon_beacon/afterattack(atom/target, mob/user, proximity_flag, click_parameters)
|
||||
. = ..()
|
||||
if(!selected_atom)
|
||||
balloon_alert(user, "no choice selected!")
|
||||
return
|
||||
var/turf/target_turf = get_turf(target)
|
||||
var/area/target_area = get_area(target)
|
||||
if(!target_turf || !target_area || !is_type_in_list(target_area, allowed_areas))
|
||||
balloon_alert(user, "can't call here!")
|
||||
return
|
||||
|
||||
var/confirmed = tgui_alert(user, "Are you sure you want to call [selected_atom.name] here?", "Confirmation", list("Yes", "No"))
|
||||
if(confirmed != "Yes")
|
||||
return
|
||||
|
||||
podspawn(list(
|
||||
"target" = get_turf(target),
|
||||
"path" = supply_pod_stay ? /obj/structure/closet/supplypod/podspawn/no_return : /obj/structure/closet/supplypod/podspawn,
|
||||
"style" = STYLE_CENTCOM,
|
||||
"spawn" = selected_atom,
|
||||
))
|
||||
|
||||
if(ishuman(user))
|
||||
var/mob/living/carbon/human/human_user = user
|
||||
if(istype(human_user.ears, /obj/item/radio/headset))
|
||||
to_chat(user, span_notice("You hear something crackle in your ears for a moment before a voice speaks. \
|
||||
\"Please stand by for a message from Central Command. Message as follows: \
|
||||
[span_bold("Request received. Pod inbound, please stand back from the landing site.")] \
|
||||
Message ends.\""))
|
||||
|
||||
uses--
|
||||
if(!uses)
|
||||
qdel(src)
|
||||
else
|
||||
balloon_alert(user, "[uses] use[uses > 1 ? "s" : ""] left!")
|
||||
|
||||
// Misc stuff here
|
||||
|
||||
/obj/structure/closet/supplypod/podspawn/no_return
|
||||
bluespace = FALSE
|
||||
|
||||
/obj/item/storage/box/gas_miner_beacons
|
||||
name = "box of gas miner delivery beacons"
|
||||
desc = "Contains two beacons for delivery of atmospheric gas miners."
|
||||
|
||||
/obj/item/storage/box/gas_miner_beacons/PopulateContents()
|
||||
new /obj/item/summon_beacon/gas_miner(src)
|
||||
new /obj/item/summon_beacon/gas_miner(src)
|
||||
|
||||
|
||||
// Actual beacons start here
|
||||
|
||||
/obj/item/summon_beacon/gas_miner
|
||||
name = "gas miner beacon"
|
||||
desc = "Once a gas miner type is selected, delivers a gas miner to the target location."
|
||||
|
||||
allowed_areas = list(
|
||||
/area/station/engineering/atmos,
|
||||
/area/station/engineering/atmospherics_engine,
|
||||
)
|
||||
|
||||
selectable_atoms = list(
|
||||
/obj/machinery/atmospherics/miner/carbon_dioxide,
|
||||
/obj/machinery/atmospherics/miner/n2o,
|
||||
/obj/machinery/atmospherics/miner/nitrogen,
|
||||
/obj/machinery/atmospherics/miner/oxygen,
|
||||
/obj/machinery/atmospherics/miner/plasma,
|
||||
)
|
||||
|
||||
area_string = "atmospherics"
|
||||
supply_pod_stay = TRUE
|
||||
|
||||
/obj/item/summon_beacon/command_drobe
|
||||
name = "command outfitting beacon"
|
||||
desc = "Delivers a command outfitting station to the target location."
|
||||
|
||||
allowed_areas = list(
|
||||
/area/station/command/bridge,
|
||||
/area/station/command/heads_quarters/captain,
|
||||
/area/station/command/heads_quarters/hop,
|
||||
)
|
||||
|
||||
selectable_atoms = list(
|
||||
/obj/machinery/vending/access/command,
|
||||
)
|
||||
|
||||
area_string = "the bridge"
|
||||
|
||||
/obj/item/summon_beacon/borgi
|
||||
name = "E-N beacon"
|
||||
desc = "Delivers a lovable borgi to the target location."
|
||||
|
||||
allowed_areas = list(
|
||||
/area/station/science/robotics,
|
||||
)
|
||||
|
||||
selectable_atoms = list(
|
||||
/mob/living/simple_animal/pet/dog/corgi/borgi,
|
||||
)
|
||||
|
||||
area_string = "robotics"
|
||||
|
||||
/obj/item/summon_beacon/poppy
|
||||
name = "engineering possum beacon"
|
||||
desc = "Delivers the engineering possum, Poppy, to the target location."
|
||||
|
||||
allowed_areas = list(
|
||||
/area/station/engineering,
|
||||
)
|
||||
|
||||
selectable_atoms = list(
|
||||
/mob/living/simple_animal/pet/poppy,
|
||||
)
|
||||
|
||||
area_string = "engineering"
|
||||
|
||||
/obj/item/summon_beacon/bumbles
|
||||
name = "Bumbles beacon"
|
||||
desc = "Delivers hydreponics' bee, Bumbles, to the target location."
|
||||
|
||||
allowed_areas = list(
|
||||
/area/station/service/hydroponics,
|
||||
)
|
||||
|
||||
selectable_atoms = list(
|
||||
/mob/living/simple_animal/pet/bumbles,
|
||||
)
|
||||
|
||||
area_string = "hydroponics"
|
||||
|
||||
/obj/item/summon_beacon/markus
|
||||
name = "cargo corgi beacon"
|
||||
desc = "Delivers Markus, the mascot of cargo, to the target location."
|
||||
|
||||
allowed_areas = list(
|
||||
/area/station/cargo,
|
||||
)
|
||||
|
||||
selectable_atoms = list(
|
||||
/mob/living/simple_animal/pet/dog/markus,
|
||||
)
|
||||
|
||||
area_string = "cargo"
|
||||
|
||||
/obj/item/summon_beacon/secmed
|
||||
name = "security medic locker beacon"
|
||||
desc = "Delivers a security medic's locker to the target location."
|
||||
|
||||
allowed_areas = list(
|
||||
/area/station/security/medical,
|
||||
)
|
||||
|
||||
selectable_atoms = list(
|
||||
/obj/structure/closet/secure_closet/security_medic,
|
||||
)
|
||||
|
||||
area_string = "the medical ward of security"
|
||||
|
||||
/obj/item/summon_beacon/vanguard
|
||||
name = "vanguard operatives supply beacon"
|
||||
desc = "Used to request your job supplies, use in hand to do so!"
|
||||
|
||||
allowed_areas = list(
|
||||
/area/awaymission,
|
||||
/area/station/command/gateway,
|
||||
)
|
||||
|
||||
selectable_atoms = list(
|
||||
/obj/structure/closet/crate/secure/exp_corps/marksman,
|
||||
/obj/structure/closet/crate/secure/exp_corps/pointman,
|
||||
/obj/structure/closet/crate/secure/exp_corps/field_medic,
|
||||
/obj/structure/closet/crate/secure/exp_corps/combat_tech,
|
||||
)
|
||||
|
||||
area_string = "the gateway chamber"
|
||||
@@ -57,7 +57,10 @@
|
||||
suit = /obj/item/clothing/suit/armor/vest/peacekeeper/security_medic
|
||||
l_hand = /obj/item/storage/medkit/brute
|
||||
head = /obj/item/clothing/head/beret/sec/peacekeeper/security_medic
|
||||
backpack_contents = list(/obj/item/storage/box/gunset/firefly = 1)
|
||||
backpack_contents = list(
|
||||
/obj/item/storage/box/gunset/firefly = 1,
|
||||
/obj/item/summon_beacon/secmed = 1,
|
||||
)
|
||||
backpack = /obj/item/storage/backpack/security
|
||||
satchel = /obj/item/storage/backpack/satchel/sec
|
||||
duffelbag = /obj/item/storage/backpack/duffelbag/sec
|
||||
@@ -68,6 +71,10 @@
|
||||
|
||||
id_trim = /datum/id_trim/job/security_medic
|
||||
|
||||
/obj/effect/landmark/start/security_officer/Initialize(mapload)
|
||||
. = ..()
|
||||
new /obj/effect/landmark/start/security_medic(get_turf(src))
|
||||
|
||||
/obj/effect/landmark/start/security_medic
|
||||
name = "Security Medic"
|
||||
icon_state = "Security Medic"
|
||||
|
||||
+1
-2
@@ -4878,7 +4878,6 @@
|
||||
#include "modular_skyrat\modules\admin\code\manage_player_ranks.dm"
|
||||
#include "modular_skyrat\modules\admin\code\sooc.dm"
|
||||
#include "modular_skyrat\modules\admin\code\smites\pie.dm"
|
||||
#include "modular_skyrat\modules\advanced_choice_beacons\code\advanced_choice_beacon.dm"
|
||||
#include "modular_skyrat\modules\advanced_shuttles\code\areas.dm"
|
||||
#include "modular_skyrat\modules\advanced_shuttles\code\closet.dm"
|
||||
#include "modular_skyrat\modules\advanced_shuttles\code\computer.dm"
|
||||
@@ -5648,7 +5647,6 @@
|
||||
#include "modular_skyrat\modules\modular_items\code\ciggies.dm"
|
||||
#include "modular_skyrat\modules\modular_items\code\cross.dm"
|
||||
#include "modular_skyrat\modules\modular_items\code\designs.dm"
|
||||
#include "modular_skyrat\modules\modular_items\code\gas_miner_beacon.dm"
|
||||
#include "modular_skyrat\modules\modular_items\code\goosenade.dm"
|
||||
#include "modular_skyrat\modules\modular_items\code\kinetic_crusher.dm"
|
||||
#include "modular_skyrat\modules\modular_items\code\makeshift.dm"
|
||||
@@ -5657,6 +5655,7 @@
|
||||
#include "modular_skyrat\modules\modular_items\code\pastries.dm"
|
||||
#include "modular_skyrat\modules\modular_items\code\ranged_analyzer.dm"
|
||||
#include "modular_skyrat\modules\modular_items\code\recipes_misc.dm"
|
||||
#include "modular_skyrat\modules\modular_items\code\summon_beacon.dm"
|
||||
#include "modular_skyrat\modules\modular_items\code\tailoring.dm"
|
||||
#include "modular_skyrat\modules\modular_items\code\thieving_gloves.dm"
|
||||
#include "modular_skyrat\modules\modular_items\lewd_items\code\arousal_system.dm"
|
||||
|
||||
Reference in New Issue
Block a user