mirror of
https://github.com/Bubberstation/Bubberstation.git
synced 2026-07-19 03:55:11 +01:00
Merge remote-tracking branch 'tgstation/master' into upstream-feb12-2026
# 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
This commit is contained in:
@@ -35,9 +35,9 @@
|
||||
/obj/machinery/byteforge/examine(mob/user)
|
||||
. = ..()
|
||||
|
||||
. += span_notice("Make sure this is 4 tiles from the quantum server")
|
||||
. += span_notice("Must be within 4 tiles of the quantum server.")
|
||||
|
||||
. += span_notice("Its maintainance panel can be [EXAMINE_HINT("screwed")] [panel_open ? "close" : "open"].")
|
||||
. += span_notice("Its maintenance panel can be [EXAMINE_HINT("screwed")] [panel_open ? "close" : "open"].")
|
||||
if(panel_open)
|
||||
. += span_notice("It can be [EXAMINE_HINT("pried")] apart.")
|
||||
|
||||
@@ -60,10 +60,7 @@
|
||||
/obj/machinery/byteforge/proc/flash(atom/movable/thing)
|
||||
playsound(src, 'sound/effects/magic/blink.ogg', 50, TRUE)
|
||||
|
||||
var/datum/effect_system/spark_spread/quantum/sparks = new()
|
||||
sparks.set_up(5, 1, loc)
|
||||
sparks.start()
|
||||
|
||||
do_sparks(5, TRUE, loc, spark_type = /datum/effect_system/basic/spark_spread/quantum)
|
||||
set_light(l_on = FALSE)
|
||||
|
||||
/// Forge begins to process
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
/obj/item/bitrunning_debug
|
||||
name = "bitrunning debug item"
|
||||
desc = "Adds points and reduces cooldown time for debugging"
|
||||
icon = 'icons/obj/devices/circuitry_n_data.dmi'
|
||||
icon = 'icons/obj/devices/floppy_disks.dmi'
|
||||
base_icon_state = "datadisk"
|
||||
icon_state = "datadisk0"
|
||||
|
||||
|
||||
@@ -4,16 +4,16 @@
|
||||
* You can make the custom cheese spells you've always wanted.
|
||||
* Just make it fun and engaging, it's PvE content.
|
||||
*/
|
||||
/obj/item/bitrunning_disk
|
||||
/obj/item/disk/bitrunning
|
||||
name = "generic bitrunning program"
|
||||
desc = "A disk containing source code."
|
||||
icon = 'icons/obj/devices/circuitry_n_data.dmi'
|
||||
base_icon_state = "datadisk"
|
||||
icon_state = "datadisk0"
|
||||
sticker_icon_state = "o_code"
|
||||
/// Name of the choice made
|
||||
var/choice_made
|
||||
|
||||
/obj/item/bitrunning_disk/Initialize(mapload)
|
||||
/obj/item/disk/bitrunning/Initialize(mapload)
|
||||
. = ..()
|
||||
|
||||
icon_state = "[base_icon_state][rand(0, 7)]"
|
||||
@@ -23,7 +23,10 @@
|
||||
load_callback = CALLBACK(src, PROC_REF(load_onto_avatar)), \
|
||||
)
|
||||
|
||||
/obj/item/bitrunning_disk/examine(mob/user)
|
||||
/obj/item/disk/bitrunning/setup_reskins()
|
||||
return
|
||||
|
||||
/obj/item/disk/bitrunning/examine(mob/user)
|
||||
. = ..()
|
||||
. += span_infoplain("This disk must be carried on your person into a netpod to be used.")
|
||||
|
||||
@@ -35,18 +38,17 @@
|
||||
. += span_notice("It cannot make another selection.")
|
||||
|
||||
/// Handles loading our stuff onto avatars
|
||||
/obj/item/bitrunning_disk/proc/load_onto_avatar(mob/living/carbon/human/neo, mob/living/carbon/human/avatar, domain_flags)
|
||||
/obj/item/disk/bitrunning/proc/load_onto_avatar(mob/living/carbon/human/neo, mob/living/carbon/human/avatar, domain_flags)
|
||||
return NONE
|
||||
|
||||
|
||||
/obj/item/bitrunning_disk/ability
|
||||
/obj/item/disk/bitrunning/ability
|
||||
desc = "A disk containing source code. It can be used to preload abilities into the virtual domain. Duplicate abilities will be ignored."
|
||||
/// The selected ability that this grants
|
||||
var/datum/action/granted_action
|
||||
/// The list of actions that this can grant
|
||||
var/list/datum/action/selectable_actions = list()
|
||||
|
||||
/obj/item/bitrunning_disk/ability/load_onto_avatar(mob/living/carbon/human/neo, mob/living/carbon/human/avatar, domain_flags)
|
||||
/obj/item/disk/bitrunning/ability/load_onto_avatar(mob/living/carbon/human/neo, mob/living/carbon/human/avatar, domain_flags)
|
||||
if(domain_flags & DOMAIN_FORBIDS_ABILITIES)
|
||||
return BITRUNNER_GEAR_LOAD_BLOCKED
|
||||
|
||||
@@ -60,8 +62,8 @@
|
||||
our_action.Grant(avatar)
|
||||
return NONE
|
||||
|
||||
/obj/item/bitrunning_disk/ability/attack_self(mob/user, modifiers)
|
||||
. = ..()
|
||||
/obj/item/disk/bitrunning/ability/attack_self(mob/user, modifiers)
|
||||
// Not calling parent to not flip the protection tab
|
||||
|
||||
if(choice_made)
|
||||
return
|
||||
@@ -86,7 +88,7 @@
|
||||
choice_made = choice
|
||||
|
||||
/// Tier 1 programs. Simple, funny, or helpful.
|
||||
/obj/item/bitrunning_disk/ability/tier1
|
||||
/obj/item/disk/bitrunning/ability/tier1
|
||||
name = "bitrunning program: basic"
|
||||
selectable_actions = list(
|
||||
/datum/action/cooldown/spell/conjure/cheese,
|
||||
@@ -94,7 +96,7 @@
|
||||
)
|
||||
|
||||
/// Tier 2 programs. More complex, powerful, or useful.
|
||||
/obj/item/bitrunning_disk/ability/tier2
|
||||
/obj/item/disk/bitrunning/ability/tier2
|
||||
name = "bitrunning program: complex"
|
||||
selectable_actions = list(
|
||||
/datum/action/cooldown/spell/pointed/projectile/fireball,
|
||||
@@ -103,7 +105,7 @@
|
||||
)
|
||||
|
||||
/// Tier 3 abilities. Very powerful, game breaking.
|
||||
/obj/item/bitrunning_disk/ability/tier3
|
||||
/obj/item/disk/bitrunning/ability/tier3
|
||||
name = "bitrunning program: elite"
|
||||
selectable_actions = list(
|
||||
/datum/action/cooldown/spell/shapeshift/dragon,
|
||||
@@ -111,14 +113,14 @@
|
||||
)
|
||||
|
||||
|
||||
/obj/item/bitrunning_disk/item
|
||||
/obj/item/disk/bitrunning/item
|
||||
desc = "A disk containing source code. It can be used to preload items into the virtual domain."
|
||||
/// The selected item that this grants
|
||||
var/obj/granted_item
|
||||
/// The list of actions that this can grant
|
||||
var/list/obj/selectable_items = list()
|
||||
|
||||
/obj/item/bitrunning_disk/item/load_onto_avatar(mob/living/carbon/human/neo, mob/living/carbon/human/avatar, domain_flags)
|
||||
/obj/item/disk/bitrunning/item/load_onto_avatar(mob/living/carbon/human/neo, mob/living/carbon/human/avatar, domain_flags)
|
||||
if(domain_flags & DOMAIN_FORBIDS_ITEMS)
|
||||
return BITRUNNER_GEAR_LOAD_BLOCKED
|
||||
|
||||
@@ -128,7 +130,7 @@
|
||||
avatar.put_in_hands(new granted_item())
|
||||
return NONE
|
||||
|
||||
/obj/item/bitrunning_disk/item/attack_self(mob/user, modifiers)
|
||||
/obj/item/disk/bitrunning/item/attack_self(mob/user, modifiers)
|
||||
. = ..()
|
||||
|
||||
if(choice_made)
|
||||
@@ -151,7 +153,7 @@
|
||||
choice_made = choice
|
||||
|
||||
/// Tier 1 items. Simple, funny, or helpful.
|
||||
/obj/item/bitrunning_disk/item/tier1
|
||||
/obj/item/disk/bitrunning/item/tier1
|
||||
name = "bitrunning gear: simple"
|
||||
selectable_items = list(
|
||||
/obj/item/pizzabox/infinite,
|
||||
@@ -160,7 +162,7 @@
|
||||
)
|
||||
|
||||
/// Tier 2 items. More complex, powerful, or useful.
|
||||
/obj/item/bitrunning_disk/item/tier2
|
||||
/obj/item/disk/bitrunning/item/tier2
|
||||
name = "bitrunning gear: complex"
|
||||
selectable_items = list(
|
||||
/obj/item/reagent_containers/hypospray/medipen/survival/luxury,
|
||||
@@ -169,7 +171,7 @@
|
||||
)
|
||||
|
||||
/// Tier 3 items. Very powerful, game breaking.
|
||||
/obj/item/bitrunning_disk/item/tier3
|
||||
/obj/item/disk/bitrunning/item/tier3
|
||||
name = "bitrunning gear: advanced"
|
||||
selectable_items = list(
|
||||
/obj/item/gun/energy/e_gun/nuclear,
|
||||
@@ -178,7 +180,7 @@
|
||||
)
|
||||
|
||||
///proto-kinetic accelerator mods, to be applied to pka's given inside domains
|
||||
/obj/item/bitrunning_disk/item/pka_mods
|
||||
/obj/item/disk/bitrunning/item/pka_mods
|
||||
name = "bitrunning gear: proto-kinetic accelerator mods"
|
||||
selectable_items = list(
|
||||
/obj/item/borg/upgrade/modkit/range,
|
||||
@@ -188,7 +190,7 @@
|
||||
/obj/item/borg/upgrade/modkit/human_passthrough,
|
||||
)
|
||||
|
||||
/obj/item/bitrunning_disk/item/pka_mods/premium
|
||||
/obj/item/disk/bitrunning/item/pka_mods/premium
|
||||
name = "bitrunning gear: premium proto-kinetic accelerator mods"
|
||||
selectable_items = list(
|
||||
/obj/item/borg/upgrade/modkit/cooldown/repeater,
|
||||
@@ -199,7 +201,7 @@
|
||||
)
|
||||
|
||||
///proto-kinetic crusher trophies, to be applied to pkc's given inside domains
|
||||
/obj/item/bitrunning_disk/item/pkc_mods
|
||||
/obj/item/disk/bitrunning/item/pkc_mods
|
||||
name = "bitrunning gear: proto-kinetic crusher mods"
|
||||
selectable_items = list(
|
||||
/obj/item/crusher_trophy/watcher_wing,
|
||||
@@ -208,7 +210,7 @@
|
||||
/obj/item/crusher_trophy/wolf_ear,
|
||||
)
|
||||
|
||||
/obj/item/bitrunning_disk/item/pkc_mods/premium
|
||||
/obj/item/disk/bitrunning/item/pkc_mods/premium
|
||||
name = "bitrunning gear: premium proto-kinetic crusher mods"
|
||||
selectable_items = list(
|
||||
/obj/item/crusher_trophy/watcher_wing/ice_wing,
|
||||
@@ -220,7 +222,7 @@
|
||||
/obj/item/crusher_trophy/ice_demon_cube,
|
||||
)
|
||||
|
||||
/obj/item/bitrunning_disk/item/mini_uzi
|
||||
/obj/item/disk/bitrunning/item/mini_uzi
|
||||
name = "bitrunning gear: mini-uzi"
|
||||
selectable_items = list(
|
||||
/obj/item/gun/ballistic/automatic/mini_uzi,
|
||||
|
||||
@@ -2,23 +2,23 @@
|
||||
/**
|
||||
* Bitrunning tech disks which let you load full loadouts into the vdom on first avatar generation.
|
||||
*/
|
||||
/obj/item/bitrunning_disk/gimmick
|
||||
/obj/item/disk/bitrunning/gimmick
|
||||
desc = "A disk containing source code. It can be used to preload gimmick loadouts into the virtual domain."
|
||||
/// The selected loadout that this grants
|
||||
var/datum/bitrunning_gimmick/granted_loadout
|
||||
/// The list of loadouts that this can grant
|
||||
var/list/datum/bitrunning_gimmick/selectable_loadouts
|
||||
|
||||
/obj/item/bitrunning_disk/gimmick/Destroy()
|
||||
/obj/item/disk/bitrunning/gimmick/Destroy()
|
||||
QDEL_NULL(granted_loadout)
|
||||
return ..()
|
||||
|
||||
/obj/item/bitrunning_disk/gimmick/load_onto_avatar(mob/living/carbon/human/neo, mob/living/carbon/human/avatar, domain_flags)
|
||||
/obj/item/disk/bitrunning/gimmick/load_onto_avatar(mob/living/carbon/human/neo, mob/living/carbon/human/avatar, domain_flags)
|
||||
if(isnull(granted_loadout))
|
||||
return BITRUNNER_GEAR_LOAD_FAILED
|
||||
return granted_loadout.grant_loadout(neo, avatar, domain_flags)
|
||||
|
||||
/obj/item/bitrunning_disk/gimmick/attack_self(mob/user, modifiers)
|
||||
/obj/item/disk/bitrunning/gimmick/attack_self(mob/user, modifiers)
|
||||
. = ..()
|
||||
|
||||
if(granted_loadout)
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* Bitrunning gimmick loadouts themed around dungeon crawling.
|
||||
* Mostly for fun, have niche but not insignificant advantages.
|
||||
*/
|
||||
/obj/item/bitrunning_disk/gimmick/dungeon
|
||||
/obj/item/disk/bitrunning/gimmick/dungeon
|
||||
name = "bitrunning gimmick: dungeon crawling"
|
||||
selectable_loadouts = list(
|
||||
/datum/bitrunning_gimmick/alchemist,
|
||||
@@ -30,8 +30,9 @@
|
||||
name = "unlabeled bottle"
|
||||
desc = "A small bottle. You don't remember what you put in it."
|
||||
|
||||
/obj/item/reagent_containers/cup/bottle/alchemist_basic/add_initial_reagents()
|
||||
/// List of possible reagents we may pick from
|
||||
var/static/list/possible_reagents = list(
|
||||
var/list/possible_reagents = list(
|
||||
/datum/reagent/aluminium, // Basic chems
|
||||
/datum/reagent/bromine,
|
||||
/datum/reagent/carbon,
|
||||
@@ -63,7 +64,6 @@
|
||||
/datum/reagent/consumable/coffee,
|
||||
)
|
||||
|
||||
/obj/item/reagent_containers/cup/bottle/alchemist_basic/add_initial_reagents()
|
||||
var/our_reagent = pick(possible_reagents)
|
||||
reagents.add_reagent(our_reagent, 50)
|
||||
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
* Bitrunning gimmick loadouts themed around sports.
|
||||
* Mostly for fun, have niche or little advantages.
|
||||
*/
|
||||
/obj/item/bitrunning_disk/gimmick/sports
|
||||
/obj/item/disk/bitrunning/gimmick/sports
|
||||
name = "bitrunning gimmick: sports"
|
||||
selectable_loadouts = list(
|
||||
/datum/bitrunning_gimmick/boxer,
|
||||
|
||||
@@ -76,13 +76,13 @@
|
||||
|
||||
switch(action)
|
||||
if("random_domain")
|
||||
server.cold_boot_map(server.get_random_domain_id())
|
||||
server.cold_boot_map(server.get_random_domain_id(), was_random_selection = TRUE)
|
||||
return TRUE
|
||||
if("refresh")
|
||||
ui.send_full_update()
|
||||
return TRUE
|
||||
if("set_domain")
|
||||
server.cold_boot_map(params["id"])
|
||||
server.cold_boot_map(params["id"], was_random_selection = FALSE)
|
||||
return TRUE
|
||||
if("stop_domain")
|
||||
server.begin_shutdown(usr)
|
||||
|
||||
Reference in New Issue
Block a user