mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-08-19 19:18:50 +01:00
# Conflicts: # .github/CODEOWNERS # .github/workflows/compile_changelogs.yml # .github/workflows/stale.yml # SQL/database_changelog.md # _maps/map_files/CatwalkStation/CatwalkStation_2023.dmm # code/__DEFINES/atom_hud.dm # code/__DEFINES/inventory.dm # code/__DEFINES/mobs.dm # code/__DEFINES/species_clothing_paths.dm # code/__DEFINES/subsystems.dm # code/__DEFINES/surgery.dm # code/__HELPERS/global_lists.dm # code/_globalvars/lists/maintenance_loot.dm # code/_globalvars/traits/_traits.dm # code/controllers/subsystem/minor_mapping.dm # code/controllers/subsystem/processing/quirks.dm # code/controllers/subsystem/shuttle.dm # code/datums/components/palette.dm # code/datums/components/surgery_initiator.dm # code/datums/diseases/advance/advance.dm # code/datums/hud.dm # code/datums/mood.dm # code/datums/mutations/chameleon.dm # code/datums/quirks/negative_quirks/nyctophobia.dm # code/datums/status_effects/debuffs/debuffs.dm # code/datums/status_effects/debuffs/drunk.dm # code/datums/status_effects/debuffs/slime/slime_leech.dm # code/datums/weather/weather.dm # code/game/data_huds.dm # code/game/objects/items.dm # code/game/objects/items/devices/scanners/health_analyzer.dm # code/game/objects/items/frog_statue.dm # code/game/objects/items/rcd/RLD.dm # code/game/objects/items/robot/items/hypo.dm # code/game/objects/items/stacks/medical.dm # code/game/objects/items/stacks/wrap.dm # code/game/objects/items/storage/garment.dm # code/game/objects/items/tools/medical/defib.dm # code/game/objects/items/weaponry.dm # code/game/objects/items/weaponry/melee/misc.dm # code/game/objects/structures/crates_lockers/closets/secure/security.dm # code/game/objects/structures/curtains.dm # code/game/objects/structures/dresser.dm # code/game/objects/structures/girders.dm # code/game/objects/structures/maintenance.dm # code/game/objects/structures/mirror.dm # code/modules/admin/greyscale_modify_menu.dm # code/modules/admin/verbs/light_debug.dm # code/modules/antagonists/ashwalker/ashwalker.dm # code/modules/antagonists/heretic/knowledge/starting_lore.dm # code/modules/antagonists/ninja/ninjaDrainAct.dm # code/modules/art/paintings.dm # code/modules/client/preferences.dm # code/modules/client/verbs/ooc.dm # code/modules/clothing/head/wig.dm # code/modules/events/disease_outbreak.dm # code/modules/holodeck/holo_effect.dm # code/modules/jobs/job_types/head_of_security.dm # code/modules/jobs/job_types/security_officer.dm # code/modules/library/skill_learning/generic_skillchips/point.dm # code/modules/mining/lavaland/ash_flora.dm # code/modules/mining/lavaland/mining_loot/megafauna/ash_drake.dm # code/modules/mob/dead/new_player/new_player.dm # code/modules/mob/living/basic/guardian/guardian.dm # code/modules/mob/living/basic/space_fauna/space_dragon/space_dragon.dm # code/modules/mob/living/carbon/carbon.dm # code/modules/mob/living/carbon/human/human.dm # code/modules/mob/living/carbon/human/human_defines.dm # code/modules/mob/living/carbon/life.dm # code/modules/mob/living/living.dm # code/modules/mob/living/living_defines.dm # code/modules/mob/mob.dm # code/modules/mob_spawn/ghost_roles/mining_roles.dm # code/modules/mod/mod_control.dm # code/modules/mod/modules/modules_general.dm # code/modules/modular_computers/computers/item/computer_ui.dm # code/modules/paperwork/paper.dm # code/modules/paperwork/paperbin.dm # code/modules/power/lighting/light.dm # code/modules/projectiles/guns/energy/kinetic_accelerator.dm # code/modules/projectiles/projectile.dm # code/modules/reagents/chemistry/reagents/drinks/alcohol_reagents.dm # code/modules/reagents/chemistry/reagents/food_reagents.dm # code/modules/reagents/chemistry/reagents/other_reagents.dm # code/modules/reagents/chemistry/reagents/pyrotechnic_reagents.dm # code/modules/research/xenobiology/crossbreeding/_clothing.dm # code/modules/research/xenobiology/crossbreeding/prismatic.dm # code/modules/surgery/advanced/brainwashing.dm # code/modules/surgery/advanced/lobotomy.dm # code/modules/surgery/amputation.dm # code/modules/surgery/blood_filter.dm # code/modules/surgery/bodyparts/_bodyparts.dm # code/modules/surgery/brain_surgery.dm # code/modules/surgery/cavity_implant.dm # code/modules/surgery/coronary_bypass.dm # code/modules/surgery/gastrectomy.dm # code/modules/surgery/healing.dm # code/modules/surgery/limb_augmentation.dm # code/modules/surgery/organ_manipulation.dm # code/modules/surgery/revival.dm # code/modules/surgery/sleeper_protocol.dm # code/modules/surgery/surgery_helpers.dm # code/modules/surgery/surgery_step.dm # code/modules/unit_tests/_unit_tests.dm # code/modules/unit_tests/designs.dm # code/modules/unit_tests/icon_state_worn.dm # code/modules/unit_tests/screenshots/screenshot_antag_icons_cultist.png # code/modules/unit_tests/screenshots/screenshot_antag_icons_headrevolutionary.png # code/modules/unit_tests/screenshots/screenshot_antag_icons_provocateur.png # code/modules/unit_tests/screenshots/screenshot_husk_body.png # code/modules/unit_tests/screenshots/screenshot_husk_body_missing_limbs.png # icons/map_icons/clothing/head/_head.dmi # icons/map_icons/clothing/shoes.dmi # icons/map_icons/items/_item.dmi # icons/mob/huds/hud.dmi # icons/mob/inhands/64x64_lefthand.dmi # icons/mob/inhands/64x64_righthand.dmi # icons/obj/machines/computer.dmi # tgui/packages/tgui/interfaces/OperatingComputer.jsx # tgui/packages/tgui/interfaces/PreferencesMenu/CharacterPreferences/MainPage.tsx # tgui/packages/tgui/interfaces/PreferencesMenu/types.ts # tgui/packages/tgui/interfaces/SurgeryInitiator.tsx # tools/icon_cutter/check.py
350 lines
13 KiB
Plaintext
350 lines
13 KiB
Plaintext
|
|
/obj/item/storage/toolbox/syndicate
|
|
name = "tactical toolbox" // BUBBER EDIT CHANGE: Just a normal toolbox. Original: name = "suspicious looking toolbox"
|
|
icon_state = "syndicate"
|
|
inhand_icon_state = "toolbox_syndi"
|
|
force = 15
|
|
throwforce = 18
|
|
material_flags = NONE
|
|
storage_type = /datum/storage/toolbox/syndicate
|
|
|
|
// BUBBER EDIT ADDITION BEGIN: Just a normal toolbox.
|
|
special_desc_requirement = EXAMINE_CHECK_SYNDICATE
|
|
special_desc = "A toolbox manufactured by the Syndicate containing extra tactical tools. Made of more robust materials than the average toolbox."
|
|
// BUBBER EDIT ADDITION END: Just a normal toolbox.
|
|
|
|
/obj/item/storage/toolbox/syndicate/PopulateContents()
|
|
new /obj/item/screwdriver/nuke(src)
|
|
new /obj/item/wrench(src)
|
|
new /obj/item/weldingtool/largetank(src)
|
|
new /obj/item/crowbar/red(src)
|
|
new /obj/item/wirecutters(src, "red")
|
|
new /obj/item/multitool(src)
|
|
new /obj/item/clothing/gloves/combat(src)
|
|
|
|
|
|
/obj/item/storage/toolbox/ammobox
|
|
name = "ammo canister"
|
|
desc = "A metal canister designed to hold ammunition"
|
|
icon_state = "ammobox"
|
|
inhand_icon_state = "ammobox"
|
|
lefthand_file = 'icons/mob/inhands/equipment/toolbox_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/equipment/toolbox_righthand.dmi'
|
|
has_latches = FALSE
|
|
drop_sound = 'sound/items/handling/ammobox_drop.ogg'
|
|
pickup_sound = 'sound/items/handling/ammobox_pickup.ogg'
|
|
var/ammo_to_spawn
|
|
|
|
/obj/item/storage/toolbox/ammobox/PopulateContents()
|
|
if(!isnull(ammo_to_spawn))
|
|
for(var/i in 1 to 6)
|
|
new ammo_to_spawn(src)
|
|
|
|
/obj/item/storage/toolbox/ammobox/strilka310
|
|
name = ".310 Strilka ammo box (Surplus?)"
|
|
desc = "It contains a few clips. Goddamn, this thing smells awful. \
|
|
Has this been sitting in a warehouse for the last several centuries?"
|
|
ammo_to_spawn = /obj/item/ammo_box/speedloader/strilka310
|
|
|
|
/obj/item/storage/toolbox/ammobox/strilka310/surplus
|
|
ammo_to_spawn = /obj/item/ammo_box/speedloader/strilka310/surplus
|
|
|
|
/obj/item/storage/toolbox/ammobox/wt550m9
|
|
name = "4.6x30mm ammo box"
|
|
ammo_to_spawn = /obj/item/ammo_box/magazine/wt550m9
|
|
|
|
/obj/item/storage/toolbox/ammobox/wt550m9ap
|
|
name = "4.6x30mm AP ammo box"
|
|
ammo_to_spawn = /obj/item/ammo_box/magazine/wt550m9/wtap
|
|
|
|
|
|
/obj/item/storage/toolbox/guncase
|
|
name = "gun case"
|
|
desc = "A weapon's case. Has a blood-red 'S' stamped on the cover."
|
|
icon = 'icons/obj/storage/case.dmi'
|
|
icon_state = "infiltrator_case"
|
|
lefthand_file = 'icons/mob/inhands/equipment/toolbox_lefthand.dmi'
|
|
righthand_file = 'icons/mob/inhands/equipment/toolbox_righthand.dmi'
|
|
inhand_icon_state = "infiltrator_case"
|
|
has_latches = FALSE
|
|
storage_type = /datum/storage/toolbox/guncase
|
|
/// What weapon do we spawn in our case?
|
|
var/weapon_to_spawn = /obj/item/gun/ballistic/automatic/pistol
|
|
/// What magazine do we spawn in our case?
|
|
var/extra_to_spawn = /obj/item/ammo_box/magazine/m9mm
|
|
|
|
/obj/item/storage/toolbox/guncase/PopulateContents()
|
|
if(weapon_to_spawn)
|
|
new weapon_to_spawn (src)
|
|
if(extra_to_spawn)
|
|
for(var/iterate in 1 to 3)
|
|
new extra_to_spawn (src)
|
|
|
|
/obj/item/storage/toolbox/guncase/traitor
|
|
name = "makarov gun case"
|
|
desc = "A weapon's case. Has a blood-red 'S' stamped on the cover. There seems to be a strange switch along the side inside a plastic flap."
|
|
icon_state = "pistol_case"
|
|
base_icon_state = "pistol_case"
|
|
// What ammo box do we spawn in our case?
|
|
var/ammo_box_to_spawn = /obj/item/ammo_box/c9mm
|
|
// Timer for the bomb in the case.
|
|
var/explosion_timer
|
|
// Whether or not our case is exploding. Used for determining sprite changes.
|
|
var/currently_exploding = FALSE
|
|
|
|
/obj/item/storage/toolbox/guncase/traitor/Initialize(mapload)
|
|
. = ..()
|
|
register_context()
|
|
|
|
/obj/item/storage/toolbox/guncase/traitor/examine(mob/user)
|
|
. = ..()
|
|
. += span_notice("Activate the Evidence Disposal Explosive using Alt-Right-Click.")
|
|
|
|
/obj/item/storage/toolbox/guncase/traitor/add_context(atom/source, list/context, obj/item/held_item, mob/user)
|
|
. = ..()
|
|
|
|
context[SCREENTIP_CONTEXT_ALT_RMB] = "Activate Evidence Disposal Explosive"
|
|
return CONTEXTUAL_SCREENTIP_SET
|
|
|
|
/obj/item/storage/toolbox/guncase/traitor/PopulateContents()
|
|
new weapon_to_spawn (src)
|
|
for(var/i in 1 to 2)
|
|
new extra_to_spawn (src)
|
|
new ammo_box_to_spawn(src)
|
|
|
|
/obj/item/storage/toolbox/guncase/traitor/update_icon_state()
|
|
. = ..()
|
|
if(currently_exploding)
|
|
icon_state = "[base_icon_state]_exploding"
|
|
else
|
|
icon_state = "[base_icon_state]"
|
|
|
|
/obj/item/storage/toolbox/guncase/traitor/click_alt_secondary(mob/user)
|
|
. = ..()
|
|
if(currently_exploding)
|
|
user.balloon_alert(user, "already exploding!")
|
|
return
|
|
|
|
var/i_dont_even_think_once_about_blowing_stuff_up = tgui_alert(user, "Would you like to activate the evidence disposal bomb now?", "BYE BYE", list("Yes","No"))
|
|
|
|
if(i_dont_even_think_once_about_blowing_stuff_up != "Yes" || currently_exploding || QDELETED(user) || QDELETED(src) || !user.can_perform_action(src, NEED_DEXTERITY|NEED_HANDS|ALLOW_RESTING))
|
|
return
|
|
|
|
explosion_timer = addtimer(CALLBACK(src, PROC_REF(think_fast_chucklenuts)), 5 SECONDS, (TIMER_UNIQUE|TIMER_OVERRIDE))
|
|
to_chat(user, span_warning("You prime [src]'s evidence disposal bomb!"))
|
|
log_bomber(user, "has activated a", src, "for detonation")
|
|
playsound(src, 'sound/items/weapons/armbomb.ogg', 50, TRUE)
|
|
currently_exploding = TRUE
|
|
update_appearance()
|
|
|
|
/// proc to handle our detonation
|
|
/obj/item/storage/toolbox/guncase/traitor/proc/think_fast_chucklenuts()
|
|
explosion(src, devastation_range = 0, heavy_impact_range = 0, light_impact_range = 2, explosion_cause = src)
|
|
qdel(src)
|
|
|
|
/obj/item/storage/toolbox/guncase/traitor/ammunition
|
|
name = "makarov 9mm magazine case"
|
|
weapon_to_spawn = /obj/item/ammo_box/magazine/m9mm
|
|
|
|
/obj/item/storage/toolbox/guncase/traitor/donksoft
|
|
name = "\improper Donksoft riot pistol gun case"
|
|
weapon_to_spawn = /obj/item/gun/ballistic/automatic/pistol/toy/riot/clandestine
|
|
extra_to_spawn = /obj/item/ammo_box/magazine/toy/pistol/riot
|
|
ammo_box_to_spawn = /obj/item/ammo_box/foambox/riot
|
|
|
|
/obj/item/storage/toolbox/guncase/traitor/ammunition/donksoft
|
|
name = "\improper Donksoft riot pistol magazine case"
|
|
weapon_to_spawn = /obj/item/ammo_box/magazine/toy/pistol/riot
|
|
extra_to_spawn = /obj/item/ammo_box/magazine/toy/pistol/riot
|
|
ammo_box_to_spawn = /obj/item/ammo_box/foambox/riot
|
|
|
|
/obj/item/storage/toolbox/guncase/bulldog
|
|
name = "bulldog gun case"
|
|
weapon_to_spawn = /obj/item/gun/ballistic/shotgun/bulldog
|
|
extra_to_spawn = /obj/item/ammo_box/magazine/m12g
|
|
|
|
/obj/item/storage/toolbox/guncase/c20r
|
|
name = "c-20r gun case"
|
|
weapon_to_spawn = /obj/item/gun/ballistic/automatic/c20r
|
|
extra_to_spawn = /obj/item/ammo_box/magazine/smgm45
|
|
|
|
/obj/item/storage/toolbox/guncase/smartgun
|
|
name = "adielle smartgun case"
|
|
weapon_to_spawn = /obj/item/gun/ballistic/automatic/smartgun
|
|
extra_to_spawn = /obj/item/ammo_box/magazine/smartgun
|
|
|
|
/obj/item/storage/toolbox/guncase/clandestine
|
|
name = "clandestine gun case"
|
|
weapon_to_spawn = /obj/item/gun/ballistic/automatic/pistol/clandestine
|
|
extra_to_spawn = /obj/item/ammo_box/magazine/m10mm
|
|
|
|
/obj/item/storage/toolbox/guncase/m90gl
|
|
name = "m-90gl gun case"
|
|
weapon_to_spawn = /obj/item/gun/ballistic/automatic/m90
|
|
extra_to_spawn = /obj/item/ammo_box/magazine/m223
|
|
|
|
/obj/item/storage/toolbox/guncase/m90gl/PopulateContents()
|
|
new weapon_to_spawn (src)
|
|
for(var/i in 1 to 2)
|
|
new extra_to_spawn (src)
|
|
new /obj/item/ammo_box/a40mm/rubber (src)
|
|
|
|
/obj/item/storage/toolbox/guncase/rocketlauncher
|
|
name = "rocket launcher gun case"
|
|
weapon_to_spawn = /obj/item/gun/ballistic/rocketlauncher
|
|
extra_to_spawn = /obj/item/ammo_box/rocket
|
|
|
|
/obj/item/storage/toolbox/guncase/rocketlauncher/PopulateContents()
|
|
new weapon_to_spawn (src)
|
|
new extra_to_spawn (src)
|
|
|
|
/obj/item/storage/toolbox/guncase/revolver
|
|
name = "revolver gun case"
|
|
weapon_to_spawn = /obj/item/gun/ballistic/revolver/badass/nuclear
|
|
extra_to_spawn = /obj/item/ammo_box/speedloader/c357
|
|
|
|
/obj/item/storage/toolbox/guncase/sword_and_board
|
|
name = "energy sword and shield weapon case"
|
|
weapon_to_spawn = /obj/item/melee/energy/sword
|
|
extra_to_spawn = /obj/item/shield/energy
|
|
|
|
/obj/item/storage/toolbox/guncase/sword_and_board/PopulateContents()
|
|
new weapon_to_spawn (src)
|
|
new extra_to_spawn (src)
|
|
new /obj/item/clothing/head/costume/knight (src)
|
|
|
|
/obj/item/storage/toolbox/guncase/cqc
|
|
name = "\improper CQC equipment case"
|
|
weapon_to_spawn = /obj/item/book/granter/martial/cqc
|
|
extra_to_spawn = /obj/item/storage/box/syndie_kit/imp_stealth
|
|
|
|
/obj/item/storage/toolbox/guncase/cqc/PopulateContents()
|
|
new weapon_to_spawn (src)
|
|
new extra_to_spawn (src)
|
|
new /obj/item/clothing/head/costume/snakeeater (src)
|
|
new /obj/item/storage/fancy/cigarettes/cigpack_syndicate (src)
|
|
|
|
/obj/item/storage/toolbox/guncase/doublesword
|
|
name = "double-bladed energy sword weapon case"
|
|
weapon_to_spawn = /obj/item/dualsaber
|
|
extra_to_spawn = /obj/item/soap/syndie
|
|
storage_type = /datum/storage/toolbox/guncase/doublesword
|
|
|
|
/obj/item/storage/toolbox/guncase/doublesword/PopulateContents()
|
|
new weapon_to_spawn (src)
|
|
new extra_to_spawn (src)
|
|
new /obj/item/mod/module/noslip (src)
|
|
new /obj/item/reagent_containers/hypospray/medipen/methamphetamine (src)
|
|
new /obj/item/clothing/under/rank/prisoner/nosensor (src)
|
|
|
|
/obj/item/storage/toolbox/guncase/soviet
|
|
name = "ancient gun case"
|
|
desc = "A weapon's case. Has the symbol of the Third Soviet Union stamped on the side."
|
|
icon_state = "sakhno_case"
|
|
inhand_icon_state = "sakhno_case"
|
|
weapon_to_spawn = /obj/effect/spawner/random/sakhno
|
|
extra_to_spawn = /obj/effect/spawner/random/sakhno/ammo
|
|
|
|
/obj/item/storage/toolbox/guncase/monkeycase
|
|
name = "monkey gun case"
|
|
desc = "Everything a monkey needs to truly go ape-shit. There's a paw-shaped hand scanner lock on the front of the case."
|
|
storage_type = /datum/storage/toolbox/guncase/monkey
|
|
|
|
/obj/item/storage/toolbox/guncase/monkeycase/attack_self(mob/user, modifiers)
|
|
if(!monkey_check(user))
|
|
return
|
|
return ..()
|
|
|
|
/obj/item/storage/toolbox/guncase/monkeycase/attack_self_secondary(mob/user, modifiers)
|
|
attack_self(user, modifiers)
|
|
return
|
|
|
|
/obj/item/storage/toolbox/guncase/monkeycase/attack_hand(mob/user, list/modifiers)
|
|
if(!monkey_check(user))
|
|
return
|
|
return ..()
|
|
|
|
/obj/item/storage/toolbox/guncase/monkeycase/proc/monkey_check(mob/user)
|
|
if(atom_storage.locked == STORAGE_NOT_LOCKED)
|
|
return TRUE
|
|
|
|
if(is_simian(user))
|
|
atom_storage.locked = STORAGE_NOT_LOCKED
|
|
to_chat(user, span_notice("You place your paw on the paw scanner, and hear a soft click as [src] unlocks!"))
|
|
playsound(src, 'sound/items/click.ogg', 25, TRUE)
|
|
return TRUE
|
|
to_chat(user, span_warning("You put your hand on the hand scanner, and it rejects it with an angry chimpanzee screech!"))
|
|
playsound(src, SFX_SCREECH, 75, TRUE)
|
|
return FALSE
|
|
|
|
/obj/item/storage/toolbox/guncase/monkeycase/PopulateContents()
|
|
switch(rand(1, 3))
|
|
if(1)
|
|
// Uzi with a boxcutter.
|
|
new /obj/item/gun/ballistic/automatic/mini_uzi/chimpgun(src)
|
|
new /obj/item/ammo_box/magazine/uzim9mm(src)
|
|
new /obj/item/ammo_box/magazine/uzim9mm(src)
|
|
new /obj/item/boxcutter/extended(src)
|
|
if(2)
|
|
// Thompson with a boxcutter.
|
|
new /obj/item/gun/ballistic/automatic/tommygun/chimpgun(src)
|
|
new /obj/item/ammo_box/magazine/tommygunm45(src)
|
|
new /obj/item/ammo_box/magazine/tommygunm45(src)
|
|
new /obj/item/boxcutter/extended(src)
|
|
if(3)
|
|
// M1911 with a switchblade and an extra banana bomb.
|
|
new /obj/item/gun/ballistic/automatic/pistol/m1911/chimpgun(src)
|
|
new /obj/item/ammo_box/magazine/m45(src)
|
|
new /obj/item/ammo_box/magazine/m45(src)
|
|
new /obj/item/switchblade/extended(src)
|
|
new /obj/item/food/grown/banana/bunch/monkeybomb(src)
|
|
|
|
// Banana bomb! Basically a tiny flashbang for monkeys.
|
|
new /obj/item/food/grown/banana/bunch/monkeybomb(src)
|
|
// Somewhere to store it all.
|
|
new /obj/item/storage/backpack/messenger(src)
|
|
|
|
/obj/item/storage/toolbox/emergency/turret
|
|
desc = "You feel a strange urge to hit this with a wrench."
|
|
|
|
/obj/item/storage/toolbox/emergency/turret/PopulateContents()
|
|
new /obj/item/screwdriver(src)
|
|
new /obj/item/wrench/combat(src)
|
|
new /obj/item/weldingtool(src)
|
|
new /obj/item/crowbar(src)
|
|
new /obj/item/analyzer(src)
|
|
new /obj/item/wirecutters(src)
|
|
|
|
/obj/item/storage/toolbox/emergency/turret/item_interaction(mob/living/user, obj/item/tool, list/modifiers)
|
|
if(!istype(tool, /obj/item/wrench/combat))
|
|
return NONE
|
|
if(!user.combat_mode)
|
|
return NONE
|
|
if(!tool.toolspeed)
|
|
return ITEM_INTERACT_BLOCKING
|
|
balloon_alert(user, "constructing...")
|
|
if(!tool.use_tool(src, user, 2 SECONDS, volume = 20))
|
|
return ITEM_INTERACT_BLOCKING
|
|
|
|
balloon_alert(user, "constructed!")
|
|
user.visible_message(
|
|
span_danger("[user] bashes [src] with [tool]!"),
|
|
span_danger("You bash [src] with [tool]!"),
|
|
null,
|
|
COMBAT_MESSAGE_RANGE,
|
|
)
|
|
|
|
playsound(src, 'sound/items/tools/drill_use.ogg', 80, TRUE, -1)
|
|
var/obj/machinery/porta_turret/syndicate/toolbox/turret = new(get_turf(loc))
|
|
set_toolbox_faction(turret, user)
|
|
turret.toolbox = src
|
|
forceMove(turret)
|
|
return ITEM_INTERACT_SUCCESS
|
|
|
|
/obj/item/storage/toolbox/emergency/turret/proc/set_toolbox_faction(obj/machinery/porta_turret/turret, mob/user)
|
|
turret.set_allies(list("[REF(user)]"))
|
|
turret.set_faction(null)
|
|
|
|
/obj/item/storage/toolbox/emergency/turret/nukie/set_toolbox_faction(obj/machinery/porta_turret/turret, mob/user)
|
|
turret.set_faction(list(ROLE_SYNDICATE))
|